From f310a683a0ae48e949c69740bd7513451cff5070 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Thu, 14 Mar 2024 11:46:46 -0700 Subject: [PATCH 01/21] post autogeneration --- azstackhci-powershell/.gitignore | 16 + azstackhci-powershell/Az.StackHCIVM.csproj | 44 + .../Az.StackHCIVM.format.ps1xml | 4413 +++ azstackhci-powershell/Az.StackHCIVM.nuspec | 32 + azstackhci-powershell/Az.StackHCIVM.psm1 | 115 + azstackhci-powershell/build-module.ps1 | 180 + azstackhci-powershell/check-dependencies.ps1 | 65 + .../create-model-cmdlets.ps1 | 262 + .../custom/Az.StackHCIVm.custom.psm1 | 17 + azstackhci-powershell/custom/README.md | 41 + azstackhci-powershell/docs/README.md | 11 + azstackhci-powershell/export-surface.ps1 | 41 + azstackhci-powershell/exports/README.md | 20 + .../Models/OperationListResult.PowerShell.cs | 164 + .../api/Models/OperationListResult.cs | 57 + .../api/Models/OperationListResult.json.cs | 119 + .../generated/api/StackHciVM.cs | 27714 ++++++++++++++++ .../GetAzStackHciVMGalleryImage_Get.cs | 476 + .../GetAzStackHciVMGalleryImage_List.cs | 491 + .../GetAzStackHciVMGalleryImage_List1.cs | 477 + .../cmdlets/GetAzStackHciVMGuestAgent_Get.cs | 441 + .../cmdlets/GetAzStackHciVMGuestAgent_List.cs | 468 + ...tAzStackHciVMHybridIdentityMetadata_Get.cs | 441 + ...AzStackHciVMHybridIdentityMetadata_List.cs | 468 + .../GetAzStackHciVMLogicalNetwork_Get.cs | 475 + .../GetAzStackHciVMLogicalNetwork_List.cs | 490 + .../GetAzStackHciVMLogicalNetwork_List1.cs | 476 + ...AzStackHciVMMarketplaceGalleryImage_Get.cs | 476 + ...zStackHciVMMarketplaceGalleryImage_List.cs | 491 + ...StackHciVMMarketplaceGalleryImage_List1.cs | 477 + .../GetAzStackHciVMNetworkInterface_Get.cs | 475 + .../GetAzStackHciVMNetworkInterface_List.cs | 490 + .../GetAzStackHciVMNetworkInterface_List1.cs | 476 + .../cmdlets/GetAzStackHciVMOperation_List.cs | 432 + .../cmdlets/GetAzStackHciVMStoragePath_Get.cs | 475 + .../GetAzStackHciVMStoragePath_List.cs | 490 + .../GetAzStackHciVMStoragePath_List1.cs | 476 + .../GetAzStackHciVMVirtualHardDisk_Get.cs | 475 + .../GetAzStackHciVMVirtualHardDisk_List.cs | 490 + .../GetAzStackHciVMVirtualHardDisk_List1.cs | 476 + .../GetAzStackHciVMVirtualMachine_Get.cs | 441 + .../GetAzStackHciVMVirtualMachine_List.cs | 470 + ...HCIVMGalleryImage_CreateViaJsonFilePath.cs | 577 + ...ckHCIVMGalleryImage_CreateViaJsonString.cs | 575 + ...ckHCIVMGuestAgent_CreateViaJsonFilePath.cs | 541 + ...tackHCIVMGuestAgent_CreateViaJsonString.cs | 539 + ...IVMLogicalNetwork_CreateViaJsonFilePath.cs | 577 + ...HCIVMLogicalNetwork_CreateViaJsonString.cs | 575 + ...placeGalleryImage_CreateViaJsonFilePath.cs | 580 + ...etplaceGalleryImage_CreateViaJsonString.cs | 578 + ...MNetworkInterface_CreateViaJsonFilePath.cs | 577 + ...IVMNetworkInterface_CreateViaJsonString.cs | 575 + ...kHCIVMStoragePath_CreateViaJsonFilePath.cs | 577 + ...ackHCIVMStoragePath_CreateViaJsonString.cs | 575 + ...VMVirtualHardDisk_CreateViaJsonFilePath.cs | 577 + ...CIVMVirtualHardDisk_CreateViaJsonString.cs | 575 + ...IVMVirtualMachine_CreateViaJsonFilePath.cs | 544 + ...HCIVMVirtualMachine_CreateViaJsonString.cs | 542 + ...AzStackHciVMGalleryImage_CreateExpanded.cs | 724 + ...ewAzStackHciVMGuestAgent_CreateExpanded.cs | 562 + ...StackHciVMLogicalNetwork_CreateExpanded.cs | 655 + ...MMarketplaceGalleryImage_CreateExpanded.cs | 716 + ...ackHciVMNetworkInterface_CreateExpanded.cs | 655 + ...wAzStackHciVMStoragePath_CreateExpanded.cs | 631 + ...tackHciVMVirtualHardDisk_CreateExpanded.cs | 710 + ...StackHciVMVirtualMachine_CreateExpanded.cs | 962 + .../RemoveAzStackHciVMGalleryImage_Delete.cs | 579 + ...tackHciVMGalleryImage_DeleteViaIdentity.cs | 556 + .../RemoveAzStackHciVMGuestAgent_Delete.cs | 511 + ...RemoveAzStackHciVMLogicalNetwork_Delete.cs | 579 + ...ckHciVMLogicalNetwork_DeleteViaIdentity.cs | 556 + ...tackHciVMMarketplaceGalleryImage_Delete.cs | 579 + ...rketplaceGalleryImage_DeleteViaIdentity.cs | 558 + ...moveAzStackHciVMNetworkInterface_Delete.cs | 579 + ...HciVMNetworkInterface_DeleteViaIdentity.cs | 556 + .../RemoveAzStackHciVMStoragePath_Delete.cs | 579 + ...StackHciVMStoragePath_DeleteViaIdentity.cs | 556 + ...emoveAzStackHciVMVirtualHardDisk_Delete.cs | 579 + ...kHciVMVirtualHardDisk_DeleteViaIdentity.cs | 556 + ...RemoveAzStackHciVMVirtualMachine_Delete.cs | 545 + ...startAzStackHciVMVirtualMachine_Restart.cs | 524 + ...HCIVMGalleryImage_UpdateViaJsonFilePath.cs | 577 + ...ckHCIVMGalleryImage_UpdateViaJsonString.cs | 575 + ...IVMLogicalNetwork_UpdateViaJsonFilePath.cs | 577 + ...HCIVMLogicalNetwork_UpdateViaJsonString.cs | 575 + ...placeGalleryImage_UpdateViaJsonFilePath.cs | 580 + ...etplaceGalleryImage_UpdateViaJsonString.cs | 578 + ...MNetworkInterface_UpdateViaJsonFilePath.cs | 577 + ...IVMNetworkInterface_UpdateViaJsonString.cs | 575 + ...MStorageContainer_UpdateViaJsonFilePath.cs | 577 + ...IVMStorageContainer_UpdateViaJsonString.cs | 575 + ...VMVirtualHardDisk_UpdateViaJsonFilePath.cs | 577 + ...CIVMVirtualHardDisk_UpdateViaJsonString.cs | 575 + ...alMachineInstance_UpdateViaJsonFilePath.cs | 546 + ...tualMachineInstance_UpdateViaJsonString.cs | 544 + ...AzStackHciVMGalleryImage_UpdateExpanded.cs | 714 + ...StackHciVMLogicalNetwork_UpdateExpanded.cs | 645 + ...MMarketplaceGalleryImage_UpdateExpanded.cs | 706 + ...ackHciVMNetworkInterface_UpdateExpanded.cs | 645 + ...ackHciVMStorageContainer_UpdateExpanded.cs | 621 + ...tackHciVMVirtualHardDisk_UpdateExpanded.cs | 700 + ...VMVirtualMachineInstance_UpdateExpanded.cs | 952 + .../StartAzStackHciVMVirtualMachine_Start.cs | 524 + .../StopAzStackHciVMVirtualMachine_Stop.cs | 524 + ...HCIVMGalleryImage_UpdateViaJsonFilePath.cs | 575 + ...ckHCIVMGalleryImage_UpdateViaJsonString.cs | 573 + ...IVMLogicalNetwork_UpdateViaJsonFilePath.cs | 574 + ...HCIVMLogicalNetwork_UpdateViaJsonString.cs | 572 + ...placeGalleryImage_UpdateViaJsonFilePath.cs | 578 + ...etplaceGalleryImage_UpdateViaJsonString.cs | 576 + ...MNetworkInterface_UpdateViaJsonFilePath.cs | 576 + ...IVMNetworkInterface_UpdateViaJsonString.cs | 572 + ...kHCIVMStoragePath_UpdateViaJsonFilePath.cs | 574 + ...ackHCIVMStoragePath_UpdateViaJsonString.cs | 572 + ...VMVirtualHardDisk_UpdateViaJsonFilePath.cs | 574 + ...CIVMVirtualHardDisk_UpdateViaJsonString.cs | 572 + ...IVMVirtualMachine_UpdateViaJsonFilePath.cs | 541 + ...HCIVMVirtualMachine_UpdateViaJsonString.cs | 539 + ...AzStackHciVMGalleryImage_UpdateExpanded.cs | 574 + ...MGalleryImage_UpdateViaIdentityExpanded.cs | 553 + ...StackHciVMLogicalNetwork_UpdateExpanded.cs | 573 + ...ogicalNetwork_UpdateViaIdentityExpanded.cs | 552 + ...MMarketplaceGalleryImage_UpdateExpanded.cs | 576 + ...eGalleryImage_UpdateViaIdentityExpanded.cs | 554 + ...ackHciVMNetworkInterface_UpdateExpanded.cs | 573 + ...workInterface_UpdateViaIdentityExpanded.cs | 552 + ...eAzStackHciVMStoragePath_UpdateExpanded.cs | 573 + ...VMStoragePath_UpdateViaIdentityExpanded.cs | 550 + ...tackHciVMVirtualHardDisk_UpdateExpanded.cs | 573 + ...rtualHardDisk_UpdateViaIdentityExpanded.cs | 552 + ...StackHciVMVirtualMachine_UpdateExpanded.cs | 665 + .../runtime/BuildTime/Cmdlets/ExportPsd1.cs | 193 + .../internal/Az.StackHCIVm.internal.psm1 | 38 + .../internal/Get-AzStackHciVMOperation.ps1 | 125 + .../internal/ProxyCmdletDefinitions.ps1 | 10446 ++++++ azstackhci-powershell/internal/README.md | 14 + .../obj/Debug/Az.StackHCIVm.private.dll | Bin 0 -> 5596160 bytes .../obj/Debug/Az.StackHCIVm.private.pdb | Bin 0 -> 1542984 bytes azstackhci-powershell/obj/project.assets.json | 354 + azstackhci-powershell/obj/project.nuget.cache | 13 + azstackhci-powershell/run-module.ps1 | 62 + azstackhci-powershell/test-module.ps1 | 94 + src/Alb/Alb.Autorest/resources/README.md | 11 - src/Alb/Alb.Autorest/test/README.md | 17 - .../StackHCIVM.Autorest/Az.StackHCIVM.psd1 | 2 +- src/StackHCIVM/StackHCIVM.Autorest/README.md | 22 +- .../logicalNetworks.json | 2 +- .../networkInterfaces.json | 2 +- .../storageContainers.json | 2 +- .../virtualHardDisks.json | 2 +- .../Get-AzStackHCIVMLogicalNetwork.md | 23 +- .../New-AzStackHCIVMLogicalNetwork.md | 22 +- .../Remove-AzStackHCIVMStoragePath.md | 19 +- .../Update-AzStackHCIVMLogicalNetwork.md | 22 +- .../Update-AzStackHCIVMNetworkInterface.md | 22 +- .../Update-AzStackHCIVMStoragePath.md | 22 +- .../Update-AzStackHCIVMVirtualHardDisk.md | 22 +- .../Update-AzStackHCIVMVirtualMachine.md | 22 +- 158 files changed, 109120 insertions(+), 95 deletions(-) create mode 100644 azstackhci-powershell/.gitignore create mode 100644 azstackhci-powershell/Az.StackHCIVM.csproj create mode 100644 azstackhci-powershell/Az.StackHCIVM.format.ps1xml create mode 100644 azstackhci-powershell/Az.StackHCIVM.nuspec create mode 100644 azstackhci-powershell/Az.StackHCIVM.psm1 create mode 100644 azstackhci-powershell/build-module.ps1 create mode 100644 azstackhci-powershell/check-dependencies.ps1 create mode 100644 azstackhci-powershell/create-model-cmdlets.ps1 create mode 100644 azstackhci-powershell/custom/Az.StackHCIVm.custom.psm1 create mode 100644 azstackhci-powershell/custom/README.md create mode 100644 azstackhci-powershell/docs/README.md create mode 100644 azstackhci-powershell/export-surface.ps1 create mode 100644 azstackhci-powershell/exports/README.md create mode 100644 azstackhci-powershell/generated/api/Models/OperationListResult.PowerShell.cs create mode 100644 azstackhci-powershell/generated/api/Models/OperationListResult.cs create mode 100644 azstackhci-powershell/generated/api/Models/OperationListResult.json.cs create mode 100644 azstackhci-powershell/generated/api/StackHciVM.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List1.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List1.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List1.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List1.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMOperation_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List1.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List1.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_Get.cs create mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_List.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGalleryImage_CreateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGuestAgent_CreateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMLogicalNetwork_CreateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMMarketplaceGalleryImage_CreateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMNetworkInterface_CreateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMStoragePath_CreateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualHardDisk_CreateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualMachine_CreateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_Delete.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_DeleteViaIdentity.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGuestAgent_Delete.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_Delete.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_DeleteViaIdentity.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_Delete.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_DeleteViaIdentity.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_Delete.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_DeleteViaIdentity.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_Delete.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_DeleteViaIdentity.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_Delete.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_DeleteViaIdentity.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualMachine_Delete.cs create mode 100644 azstackhci-powershell/generated/cmdlets/RestartAzStackHciVMVirtualMachine_Restart.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMGalleryImage_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMLogicalNetwork_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMNetworkInterface_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMStorageContainer_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualHardDisk_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualMachineInstance_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/StartAzStackHciVMVirtualMachine_Start.cs create mode 100644 azstackhci-powershell/generated/cmdlets/StopAzStackHciVMVirtualMachine_Stop.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateViaIdentityExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateViaIdentityExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateViaIdentityExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateViaIdentityExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateViaIdentityExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateViaIdentityExpanded.cs create mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualMachine_UpdateExpanded.cs create mode 100644 azstackhci-powershell/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs create mode 100644 azstackhci-powershell/internal/Az.StackHCIVm.internal.psm1 create mode 100644 azstackhci-powershell/internal/Get-AzStackHciVMOperation.ps1 create mode 100644 azstackhci-powershell/internal/ProxyCmdletDefinitions.ps1 create mode 100644 azstackhci-powershell/internal/README.md create mode 100644 azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.dll create mode 100644 azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.pdb create mode 100644 azstackhci-powershell/obj/project.assets.json create mode 100644 azstackhci-powershell/obj/project.nuget.cache create mode 100644 azstackhci-powershell/run-module.ps1 create mode 100644 azstackhci-powershell/test-module.ps1 delete mode 100644 src/Alb/Alb.Autorest/resources/README.md delete mode 100644 src/Alb/Alb.Autorest/test/README.md diff --git a/azstackhci-powershell/.gitignore b/azstackhci-powershell/.gitignore new file mode 100644 index 000000000000..3c3d57339c8b --- /dev/null +++ b/azstackhci-powershell/.gitignore @@ -0,0 +1,16 @@ +bin +obj +.vs +generated +internal +exports +tools +custom/*.psm1 +custom/autogen-model-cmdlets +test/*-TestResults.xml +/*.ps1 +/*.ps1xml +/*.psm1 +/*.snk +/*.csproj +/*.nuspec \ No newline at end of file diff --git a/azstackhci-powershell/Az.StackHCIVM.csproj b/azstackhci-powershell/Az.StackHCIVM.csproj new file mode 100644 index 000000000000..ea23d3aeb4ce --- /dev/null +++ b/azstackhci-powershell/Az.StackHCIVM.csproj @@ -0,0 +1,44 @@ + + + + 2.0.0 + 7.1 + netstandard2.0 + Library + Az.StackHCIVM.private + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM + true + false + ./bin + $(OutputPath) + Az.StackHCIVM.nuspec + true + + + 1998, 1591 + true + + + + + false + TRACE;DEBUG;NETSTANDARD + + + + true + true + MSSharedLibKey.snk + TRACE;RELEASE;NETSTANDARD;SIGN + + + + + + + + + $(DefaultItemExcludes);resources/** + + + \ No newline at end of file diff --git a/azstackhci-powershell/Az.StackHCIVM.format.ps1xml b/azstackhci-powershell/Az.StackHCIVM.format.ps1xml new file mode 100644 index 000000000000..874d39a3e633 --- /dev/null +++ b/azstackhci-powershell/Az.StackHCIVM.format.ps1xml @@ -0,0 +1,4413 @@ + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentConfiguration + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentConfiguration#Multiple + + + + + + + + + + + + + + + + + + + + + ConfigMode + + + ExtensionsEnabled + + + GuestConfigurationEnabled + + + ProxyUrl + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentUpgrade + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentUpgrade#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CorrelationId + + + DesiredVersion + + + EnableAutomaticUpgrade + + + LastAttemptDesiredVersion + + + LastAttemptMessage + + + LastAttemptStatus + + + LastAttemptTimestamp + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersion + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersion#Multiple + + + + + + + + + + + + + + + + + + AgentVersion1 + + + DownloadLink + + + OSType + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersionsList + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersionsList#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.CloudMetadata + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.CloudMetadata#Multiple + + + + + + + + + + + + Provider + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ConfigurationExtension + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ConfigurationExtension#Multiple + + + + + + + + + + + + Publisher + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.DetectedProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.DetectedProperties#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorDetail + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorDetail#Multiple + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorDetailAutoGenerated + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorDetailAutoGenerated#Multiple + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtendedLocation + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtendedLocation#Multiple + + + + + + + + + + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionTargetProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionTargetProperties#Multiple + + + + + + + + + + + + TargetVersion + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValue + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValue#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValueProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValueProperties#Multiple + + + + + + + + + + + + + + + + + + ExtensionType + + + Publisher + + + Version + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryDiskImage + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryDiskImage#Multiple + + + + + + + + + + + + SizeInMb + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageIdentifier + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageIdentifier#Multiple + + + + + + + + + + + + + + + + + + Offer + + + Publisher + + + Sku + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageProperties#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + CloudInitDataSource + + + ContainerId + + + HyperVGeneration + + + ImagePath + + + OSType + + + ProvisioningState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Location + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatus#Multiple + + + + + + + + + + + + + + + + + + ErrorCode + + + ErrorMessage + + + ProgressPercentage + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatusDownloadStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatusDownloadStatus#Multiple + + + + + + + + + + + + DownloadSizeInMb + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatusProvisioningStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatusProvisioningStatus#Multiple + + + + + + + + + + + + + + + OperationId + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesUpdateRequestTags + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesUpdateRequestTags#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageVersion + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageVersion#Multiple + + + + + + + + + + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryOSDiskImage + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryOSDiskImage#Multiple + + + + + + + + + + + + SizeInMb + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentInstallStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentInstallStatus#Multiple + + + + + + + + + + + + + + + + + + + + + AgentVersion + + + LastStatusChange + + + Status + + + VMUuid + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentList + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentList#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentProperties#Multiple + + + + + + + + + + + + + + + + + + ProvisioningAction + + + ProvisioningState + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestCredential + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestCredential#Multiple + + + + + + + + + + + + + + + Password + + + Username + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HardwareProfileUpdate + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HardwareProfileUpdate#Multiple + + + + + + + + + + + + + + + + + + MemoryMb + + + Processor + + + VMSize + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HttpProxyConfiguration + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HttpProxyConfiguration#Multiple + + + + + + + + + + + + + + + + + + HttpProxy + + + HttpsProxy + + + TrustedCa + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadata + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadata#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataAutoGenerated + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataAutoGenerated#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataList + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataList#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataListAutoGenerated + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataListAutoGenerated#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataProperties#Multiple + + + + + + + + + + + + + + + + + + ProvisioningState + + + PublicKey + + + ResourceUid + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataPropertiesAutoGenerated + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataPropertiesAutoGenerated#Multiple + + + + + + + + + + + + + + + PublicKey + + + VMId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Identity + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Identity#Multiple + + + + + + + + + + + + + + + PrincipalId + + + TenantId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.InstanceViewStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.InstanceViewStatus#Multiple + + + + + + + + + + + + + + + + + + + + + + + + Code + + + DisplayStatus + + + Level + + + Message + + + Time + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPAddress + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPAddress#Multiple + + + + + + + + + + + + + + + Address + + + Version + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPConfiguration + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPConfiguration#Multiple + + + + + + + + + + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPConfigurationProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPConfigurationProperties#Multiple + + + + + + + + + + + + + + + + + + Gateway + + + PrefixLength + + + PrivateIPAddress + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPPool + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPPool#Multiple + + + + + + + + + + + + + + + + + + End + + + Name + + + Start + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPPoolInfo + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPPoolInfo#Multiple + + + + + + + + + + + + + + + Available + + + Used + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LocationData + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LocationData#Multiple + + + + + + + + + + + + + + + + + + + + + City + + + CountryOrRegion + + + District + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkProperties#Multiple + + + + + + + + + + + + + + + ProvisioningState + + + VMSwitchName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Location + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkStatus#Multiple + + + + + + + + + + + + + + + ErrorCode + + + ErrorMessage + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkStatusProvisioningStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkStatusProvisioningStatus#Multiple + + + + + + + + + + + + + + + OperationId + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksUpdateRequestTags + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksUpdateRequestTags#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Location + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + Kind + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Location + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionInstanceView + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionInstanceView#Multiple + + + + + + + + + + + + + + + Name + + + TypeHandlerVersion + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionInstanceViewStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionInstanceViewStatus#Multiple + + + + + + + + + + + + + + + + + + + + + + + + Code + + + DisplayStatus + + + Level + + + Message + + + Time + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionProperties#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + AutoUpgradeMinorVersion + + + EnableAutomaticUpgrade + + + ForceUpdateTag + + + ProvisioningState + + + Publisher + + + TypeHandlerVersion + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionsListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionsListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionUpdateProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionUpdateProperties#Multiple + + + + + + + + + + + + + + + + + + + + + + + + AutoUpgradeMinorVersion + + + EnableAutomaticUpgrade + + + ForceUpdateTag + + + Publisher + + + TypeHandlerVersion + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineProperties#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AdFqdn + + + AgentVersion + + + ClientPublicKey + + + DisplayName + + + DnsFqdn + + + DomainName + + + LastStatusChange + + + MachineFqdn + + + MssqlDiscovered + + + OSName + + + OSSku + + + OSType + + + OSVersion + + + ParentClusterResourceId + + + PrivateLinkScopeResourceId + + + ProvisioningState + + + Status + + + VMId + + + VMUuid + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineUpdate + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineUpdate#Multiple + + + + + + + + + + + + Kind + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineUpdateProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineUpdateProperties#Multiple + + + + + + + + + + + + + + + ParentClusterResourceId + + + PrivateLinkScopeResourceId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageProperties#Multiple + + + + + + + + + + + + + + + + + + + + + + + + CloudInitDataSource + + + ContainerId + + + HyperVGeneration + + + OSType + + + ProvisioningState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Location + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatus#Multiple + + + + + + + + + + + + + + + + + + ErrorCode + + + ErrorMessage + + + ProgressPercentage + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatusDownloadStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatusDownloadStatus#Multiple + + + + + + + + + + + + DownloadSizeInMb + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatusProvisioningStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatusProvisioningStatus#Multiple + + + + + + + + + + + + + + + OperationId + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesUpdateRequestTags + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesUpdateRequestTags#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceProperties#Multiple + + + + + + + + + + + + + + + MacAddress + + + ProvisioningState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Location + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceStatus#Multiple + + + + + + + + + + + + + + + ErrorCode + + + ErrorMessage + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceStatusProvisioningStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceStatusProvisioningStatus#Multiple + + + + + + + + + + + + + + + OperationId + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesUpdateRequestTags + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesUpdateRequestTags#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValue + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValue#Multiple + + + + + + + + + + + + + + + + + + IsDataAction + + + Name + + + Origin + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValueDisplay + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValueDisplay#Multiple + + + + + + + + + + + + + + + + + + + + + Description + + + Operation + + + Provider + + + Resource + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfile + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfile#Multiple + + + + + + + + + + + + ComputerName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdate + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdate#Multiple + + + + + + + + + + + + ComputerName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdateLinuxConfiguration + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdateLinuxConfiguration#Multiple + + + + + + + + + + + + + + + ProvisionVMAgent + + + ProvisionVMConfigAgent + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdateWindowsConfiguration + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdateWindowsConfiguration#Multiple + + + + + + + + + + + + + + + ProvisionVMAgent + + + ProvisionVMConfigAgent + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.PatchSettings + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.PatchSettings#Multiple + + + + + + + + + + + + + + + AssessmentMode + + + PatchMode + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ProxyResource + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ProxyResource#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Resource + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Resource#Multiple + + + + + + + + + + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ResourceUpdateTags + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ResourceUpdateTags#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Route + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Route#Multiple + + + + + + + + + + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.RoutePropertiesFormat + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.RoutePropertiesFormat#Multiple + + + + + + + + + + + + + + + AddressPrefix + + + NextHopIPAddress + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.RouteTable + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.RouteTable#Multiple + + + + + + + + + + + + + + + Etag + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ServiceStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ServiceStatus#Multiple + + + + + + + + + + + + + + + StartupType + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SshPublicKey + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SshPublicKey#Multiple + + + + + + + + + + + + + + + KeyData + + + Path + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StackHcivmIdentity + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StackHcivmIdentity#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ExtensionName + + + ExtensionType + + + GalleryImageName + + + Location + + + LogicalNetworkName + + + MachineName + + + MarketplaceGalleryImageName + + + MetadataName + + + NetworkInterfaceName + + + OSType + + + Publisher + + + ResourceGroupName + + + ResourceUri + + + StorageContainerName + + + SubscriptionId + + + Version + + + VirtualHardDiskName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerProperties#Multiple + + + + + + + + + + + + + + + Path + + + ProvisioningState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Location + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerStatus#Multiple + + + + + + + + + + + + + + + + + + + + + AvailableSizeMb + + + ContainerSizeMb + + + ErrorCode + + + ErrorMessage + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerStatusProvisioningStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerStatusProvisioningStatus#Multiple + + + + + + + + + + + + + + + OperationId + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersUpdateRequestTags + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersUpdateRequestTags#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Subnet + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Subnet#Multiple + + + + + + + + + + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SubnetAutoGenerated + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SubnetAutoGenerated#Multiple + + + + + + + + + + + + AddressPrefix + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SubnetPropertiesFormat + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SubnetPropertiesFormat#Multiple + + + + + + + + + + + + + + + + + + AddressPrefix + + + IPAllocationMethod + + + Vlan + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SystemData + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SystemData#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + CreatedAt + + + CreatedBy + + + CreatedByType + + + LastModifiedAt + + + LastModifiedBy + + + LastModifiedByType + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.TrackedResource + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.TrackedResource#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + Location + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.TrackedResourceTags + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.TrackedResourceTags#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskProperties#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BlockSizeByte + + + ContainerId + + + DiskFileFormat + + + DiskSizeGb + + + Dynamic + + + HyperVGeneration + + + LogicalSectorByte + + + PhysicalSectorByte + + + ProvisioningState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Location + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskStatus#Multiple + + + + + + + + + + + + + + + ErrorCode + + + ErrorMessage + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskStatusProvisioningStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskStatusProvisioningStatus#Multiple + + + + + + + + + + + + + + + OperationId + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksUpdateRequestTags + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksUpdateRequestTags#Multiple + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineConfigAgentInstanceView + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineConfigAgentInstanceView#Multiple + + + + + + + + + + + + VMConfigAgentVersion + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance#Multiple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + SystemDataCreatedAt + + + SystemDataCreatedBy + + + SystemDataCreatedByType + + + SystemDataLastModifiedAt + + + SystemDataLastModifiedBy + + + SystemDataLastModifiedByType + + + ResourceGroupName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceListResult + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceListResult#Multiple + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceProperties + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceProperties#Multiple + + + + + + + + + + + + + + + + + + ProvisioningState + + + ResourceUid + + + VMId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesHardwareProfile + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesHardwareProfile#Multiple + + + + + + + + + + + + + + + + + + MemoryMb + + + Processor + + + VMSize + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig#Multiple + + + + + + + + + + + + + + + + + + MaximumMemoryMb + + + MinimumMemoryMb + + + TargetMemoryBuffer + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfile + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfile#Multiple + + + + + + + + + + + + + + + + + + AdminPassword + + + AdminUsername + + + ComputerName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfileLinuxConfiguration + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfileLinuxConfiguration#Multiple + + + + + + + + + + + + + + + + + + DisablePasswordAuthentication + + + ProvisionVMAgent + + + ProvisionVMConfigAgent + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfileWindowsConfiguration + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfileWindowsConfiguration#Multiple + + + + + + + + + + + + + + + + + + + + + EnableAutomaticUpdate + + + ProvisionVMAgent + + + ProvisionVMConfigAgent + + + TimeZone + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesSecurityProfile + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesSecurityProfile#Multiple + + + + + + + + + + + + + + + EnableTpm + + + SecurityType + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesSecurityProfileUefiSettings + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesSecurityProfileUefiSettings#Multiple + + + + + + + + + + + + SecureBootEnabled + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesStorageProfile + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesStorageProfile#Multiple + + + + + + + + + + + + VMConfigStoragePathId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesStorageProfileOSDisk + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesStorageProfileOSDisk#Multiple + + + + + + + + + + + + OSType + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceStatus#Multiple + + + + + + + + + + + + + + + + + + ErrorCode + + + ErrorMessage + + + PowerState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceStatusProvisioningStatus + + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceStatusProvisioningStatus#Multiple + + + + + + + + + + + + + + + OperationId + + + Status + + + + + + + + \ No newline at end of file diff --git a/azstackhci-powershell/Az.StackHCIVM.nuspec b/azstackhci-powershell/Az.StackHCIVM.nuspec new file mode 100644 index 000000000000..7b1ac0c81d54 --- /dev/null +++ b/azstackhci-powershell/Az.StackHCIVM.nuspec @@ -0,0 +1,32 @@ + + + + Az.StackHCIVM + 2.0.0 + Microsoft Corporation + Microsoft Corporation + true + https://aka.ms/azps-license + https://github.com/Azure/azure-powershell + Microsoft Azure PowerShell: $(service-name) cmdlets + + Microsoft Corporation. All rights reserved. + Azure ResourceManager ARM PSModule $(service-name) + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/azstackhci-powershell/Az.StackHCIVM.psm1 b/azstackhci-powershell/Az.StackHCIVM.psm1 new file mode 100644 index 000000000000..a561c16a089f --- /dev/null +++ b/azstackhci-powershell/Az.StackHCIVM.psm1 @@ -0,0 +1,115 @@ +# region Generated + # ---------------------------------------------------------------------------------- + # Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. + # ---------------------------------------------------------------------------------- + # Load required Az.Accounts module + $accountsName = 'Az.Accounts' + $accountsModule = Get-Module -Name $accountsName + if(-not $accountsModule) { + $localAccountsPath = Join-Path $PSScriptRoot 'generated\modules' + if(Test-Path -Path $localAccountsPath) { + $localAccounts = Get-ChildItem -Path $localAccountsPath -Recurse -Include 'Az.Accounts.psd1' | Select-Object -Last 1 + if($localAccounts) { + $accountsModule = Import-Module -Name ($localAccounts.FullName) -Scope Global -PassThru + } + } + if(-not $accountsModule) { + $hasAdequateVersion = (Get-Module -Name $accountsName -ListAvailable | Where-Object { $_.Version -ge [System.Version]'2.7.5' } | Measure-Object).Count -gt 0 + if($hasAdequateVersion) { + $accountsModule = Import-Module -Name $accountsName -MinimumVersion 2.7.5 -Scope Global -PassThru + } + } + } + + if(-not $accountsModule) { + Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. For installation instructions, please see: https://learn.microsoft.com/powershell/azure/install-az-ps" -ErrorAction Stop + } elseif (($accountsModule.Version -lt [System.Version]'2.7.5') -and (-not $localAccounts)) { + Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. An earlier version of Az.Accounts is imported in the current PowerShell session. If you are running test, please try to add the switch '-RegenerateSupportModule' when executing 'test-module.ps1'. Otherwise please open a new PowerShell session and import this module again.`nAdditionally, this error could indicate that multiple incompatible versions of Azure PowerShell modules are installed on your system. For troubleshooting information, please see: https://aka.ms/azps-version-error" -ErrorAction Stop + } + Write-Information "Loaded Module '$($accountsModule.Name)'" + + # Load the private module dll + $null = Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.StackHCIVM.private.dll') + + # Get the private module's instance + $instance = [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module]::Instance + + # Ask for the shared functionality table + $VTable = Register-AzModule + + # Tweaks the pipeline on module load + $instance.OnModuleLoad = $VTable.OnModuleLoad + + # Following two delegates are added for telemetry + $instance.GetTelemetryId = $VTable.GetTelemetryId + $instance.Telemetry = $VTable.Telemetry + + + # Tweaks the pipeline per call + $instance.OnNewRequest = $VTable.OnNewRequest + + # Gets shared parameter values + $instance.GetParameterValue = $VTable.GetParameterValue + + # Allows shared module to listen to events from this module + $instance.EventListener = $VTable.EventListener + + # Gets shared argument completers + $instance.ArgumentCompleter = $VTable.ArgumentCompleter + + # The name of the currently selected Azure profile + $instance.ProfileName = $VTable.ProfileName + + + # Load the custom module + $customModulePath = Join-Path $PSScriptRoot './custom/Az.StackHCIVM.custom.psm1' + if(Test-Path $customModulePath) { + $null = Import-Module -Name $customModulePath + } + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export proxy cmdlet scripts + $exportsPath = Join-Path $PSScriptRoot './exports' + $directories = Get-ChildItem -Directory -Path $exportsPath + $profileDirectory = $null + if($instance.ProfileName) { + if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { + $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } + } else { + # Don't export anything if the profile doesn't exist for the module + $exportsPath = $null + Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." + } + } elseif(($directories | Measure-Object).Count -gt 0) { + # Load the last folder if no profile is selected + $profileDirectory = $directories | Select-Object -Last 1 + } + + if($profileDirectory) { + Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" + $exportsPath = $profileDirectory.FullName + } + + if($exportsPath) { + Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath + Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) + } + + # Finalize initialization of this module + $instance.Init(); + Write-Information "Loaded Module '$($instance.Name)'" +# endregion diff --git a/azstackhci-powershell/build-module.ps1 b/azstackhci-powershell/build-module.ps1 new file mode 100644 index 000000000000..b8bce559cb78 --- /dev/null +++ b/azstackhci-powershell/build-module.ps1 @@ -0,0 +1,180 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$NotIsolated, [switch]$Run, [switch]$Test, [switch]$Docs, [switch]$Pack, [switch]$Code, [switch]$Release, [switch]$Debugger, [switch]$NoDocs, [switch]$UX) +$ErrorActionPreference = 'Stop' + +if($PSEdition -ne 'Core') { + Write-Error 'This script requires PowerShell Core to execute. [Note] Generated cmdlets will work in both PowerShell Core or Windows PowerShell.' +} + +if(-not $NotIsolated -and -not $Debugger) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated + + if($LastExitCode -ne 0) { + # Build failed. Don't attempt to run the module. + return + } + + if($Test) { + . (Join-Path $PSScriptRoot 'test-module.ps1') + if($LastExitCode -ne 0) { + # Tests failed. Don't attempt to run the module. + return + } + } + + if($Docs) { + . (Join-Path $PSScriptRoot 'generate-help.ps1') + if($LastExitCode -ne 0) { + # Docs generation failed. Don't attempt to run the module. + return + } + } + + if($UX) { + . (Join-Path $PSScriptRoot 'generate-portal-ux.ps1') + if($LastExitCode -ne 0) { + # UX generation failed. Don't attempt to run the module. + return + } + } + + if($Pack) { + . (Join-Path $PSScriptRoot 'pack-module.ps1') + if($LastExitCode -ne 0) { + # Packing failed. Don't attempt to run the module. + return + } + } + + $runModulePath = Join-Path $PSScriptRoot 'run-module.ps1' + if($Code) { + . $runModulePath -Code + } elseif($Run) { + . $runModulePath + } else { + Write-Host -ForegroundColor Cyan "To run this module in an isolated PowerShell session, run the 'run-module.ps1' script or provide the '-Run' parameter to this script." + } + return +} + +$binFolder = Join-Path $PSScriptRoot 'bin' +$objFolder = Join-Path $PSScriptRoot 'obj' + +if(-not $Debugger) { + Write-Host -ForegroundColor Green 'Cleaning build folders...' + $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path $binFolder, $objFolder + + if((Test-Path $binFolder) -or (Test-Path $objFolder)) { + Write-Host -ForegroundColor Cyan 'Did you forget to exit your isolated module session before rebuilding?' + Write-Error 'Unable to clean ''bin'' or ''obj'' folder. A process may have an open handle.' + } + + Write-Host -ForegroundColor Green 'Compiling module...' + $buildConfig = 'Debug' + if($Release) { + $buildConfig = 'Release' + } + dotnet publish $PSScriptRoot --verbosity quiet --configuration $buildConfig /nologo + if($LastExitCode -ne 0) { + Write-Error 'Compilation failed.' + } + + $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path (Join-Path $binFolder 'Debug'), (Join-Path $binFolder 'Release') +} + +$dll = Join-Path $PSScriptRoot 'bin\Az.StackHCIVM.private.dll' +if(-not (Test-Path $dll)) { + Write-Error "Unable to find output assembly in '$binFolder'." +} + +# Load DLL to use build-time cmdlets +$null = Import-Module -Name $dll + +$modulePaths = $dll +$customPsm1 = Join-Path $PSScriptRoot 'custom\Az.StackHCIVM.custom.psm1' +if(Test-Path $customPsm1) { + $modulePaths = @($dll, $customPsm1) +} + +$exportsFolder = Join-Path $PSScriptRoot 'exports' +if(Test-Path $exportsFolder) { + $null = Get-ChildItem -Path $exportsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue +} +$null = New-Item -ItemType Directory -Force -Path $exportsFolder + +$internalFolder = Join-Path $PSScriptRoot 'internal' +if(Test-Path $internalFolder) { + $null = Get-ChildItem -Path $internalFolder -Recurse -Exclude '*.psm1', 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue +} +$null = New-Item -ItemType Directory -Force -Path $internalFolder + +$psd1 = Join-Path $PSScriptRoot './Az.StackHCIVM.psd1' +$guid = Get-ModuleGuid -Psd1Path $psd1 +$moduleName = 'Az.StackHCIVM' +$examplesFolder = Join-Path $PSScriptRoot 'examples' +$null = New-Item -ItemType Directory -Force -Path $examplesFolder + +Write-Host -ForegroundColor Green 'Creating cmdlets for specified models...' +$modelCmdlets = @() +$modelCmdletFolder = Join-Path (Join-Path $PSScriptRoot './custom') 'autogen-model-cmdlets' +if (Test-Path $modelCmdletFolder) { + $null = Remove-Item -Force -Recurse -Path $modelCmdletFolder +} +if ($modelCmdlets.Count -gt 0) { + . (Join-Path $PSScriptRoot 'create-model-cmdlets.ps1') + CreateModelCmdlet($modelCmdlets) +} + +if($NoDocs) { + Write-Host -ForegroundColor Green 'Creating exports...' + Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ExcludeDocs -ExamplesFolder $examplesFolder +} else { + Write-Host -ForegroundColor Green 'Creating exports and docs...' + $moduleDescription = 'Microsoft Azure PowerShell: StackHcivm cmdlets' + $docsFolder = Join-Path $PSScriptRoot 'docs' + if(Test-Path $docsFolder) { + $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue + } + $null = New-Item -ItemType Directory -Force -Path $docsFolder + $addComplexInterfaceInfo = ![System.Convert]::ToBoolean('true') + Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ModuleDescription $moduleDescription -DocsFolder $docsFolder -ExamplesFolder $examplesFolder -ModuleGuid $guid -AddComplexInterfaceInfo:$addComplexInterfaceInfo +} + +Write-Host -ForegroundColor Green 'Creating format.ps1xml...' +$formatPs1xml = Join-Path $PSScriptRoot './Az.StackHCIVM.format.ps1xml' +Export-FormatPs1xml -FilePath $formatPs1xml + +Write-Host -ForegroundColor Green 'Creating psd1...' +$customFolder = Join-Path $PSScriptRoot 'custom' +Export-Psd1 -ExportsFolder $exportsFolder -CustomFolder $customFolder -Psd1Path $psd1 -ModuleGuid $guid + +Write-Host -ForegroundColor Green 'Creating test stubs...' +$testFolder = Join-Path $PSScriptRoot 'test' +$null = New-Item -ItemType Directory -Force -Path $testFolder +Export-TestStub -ModuleName $moduleName -ExportsFolder $exportsFolder -OutputFolder $testFolder + +Write-Host -ForegroundColor Green 'Creating example stubs...' +Export-ExampleStub -ExportsFolder $exportsFolder -OutputFolder $examplesFolder + +if (Test-Path (Join-Path $PSScriptRoot 'generate-portal-ux.ps1')) +{ + Write-Host -ForegroundColor Green 'Creating ux metadata...' + . (Join-Path $PSScriptRoot 'generate-portal-ux.ps1') +} + +Write-Host -ForegroundColor Green '-------------Done-------------' diff --git a/azstackhci-powershell/check-dependencies.ps1 b/azstackhci-powershell/check-dependencies.ps1 new file mode 100644 index 000000000000..90ca9867ae40 --- /dev/null +++ b/azstackhci-powershell/check-dependencies.ps1 @@ -0,0 +1,65 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$NotIsolated, [switch]$Accounts, [switch]$Pester, [switch]$Resources) +$ErrorActionPreference = 'Stop' + +if(-not $NotIsolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated + return +} + +function DownloadModule ([bool]$predicate, [string]$path, [string]$moduleName, [string]$versionMinimum, [string]$requiredVersion) { + if($predicate) { + $module = Get-Module -ListAvailable -Name $moduleName + if((-not $module) -or ($versionMinimum -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -ge [System.Version]$versionMinimum } | Measure-Object).Count -eq 0) -or ($requiredVersion -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -eq [System.Version]$requiredVersion } | Measure-Object).Count -eq 0)) { + $null = New-Item -ItemType Directory -Force -Path $path + Write-Host -ForegroundColor Green "Installing local $moduleName module into '$path'..." + if ($requiredVersion) { + Find-Module -Name $moduleName -RequiredVersion $requiredVersion -Repository PSGallery | Save-Module -Path $path + }elseif($versionMinimum) { + Find-Module -Name $moduleName -MinimumVersion $versionMinimum -Repository PSGallery | Save-Module -Path $path + } else { + Find-Module -Name $moduleName -Repository PSGallery | Save-Module -Path $path + } + } + } +} + +$ProgressPreference = 'SilentlyContinue' +$all = (@($Accounts.IsPresent, $Pester.IsPresent) | Select-Object -Unique | Measure-Object).Count -eq 1 + +$localModulesPath = Join-Path $PSScriptRoot 'generated\modules' +if(Test-Path -Path $localModulesPath) { + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +DownloadModule -predicate ($all -or $Accounts) -path $localModulesPath -moduleName 'Az.Accounts' -versionMinimum '2.7.5' +DownloadModule -predicate ($all -or $Pester) -path $localModulesPath -moduleName 'Pester' -requiredVersion '4.10.1' + +$tools = Join-Path $PSScriptRoot 'tools' +$resourceDir = Join-Path $tools 'Resources' +$resourceModule = Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psm1' + +if ($Resources.IsPresent -and ((-not (Test-Path -Path $resourceModule)) -or $RegenerateSupportModule.IsPresent)) { + Write-Host -ForegroundColor Green "Building local Resource module used for test..." + Set-Location $resourceDir + $null = autorest .\README.md --use:@autorest/powershell@3.0.414 --output-folder=$HOME/.PSSharedModules/Resources + $null = Copy-Item custom/* $HOME/.PSSharedModules/Resources/custom/ + Set-Location $HOME/.PSSharedModules/Resources + $null = .\build-module.ps1 + Set-Location $PSScriptRoot +} diff --git a/azstackhci-powershell/create-model-cmdlets.ps1 b/azstackhci-powershell/create-model-cmdlets.ps1 new file mode 100644 index 000000000000..c4ea5dd0d6a8 --- /dev/null +++ b/azstackhci-powershell/create-model-cmdlets.ps1 @@ -0,0 +1,262 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- + +function CreateModelCmdlet { + + param([Hashtable[]]$Models) + + if ($Models.Count -eq 0) + { + return + } + + $ModelCsPath = Join-Path (Join-Path $PSScriptRoot 'generated\api') 'Models' + $OutputDir = Join-Path $PSScriptRoot 'custom\autogen-model-cmdlets' + $null = New-Item -ItemType Directory -Force -Path $OutputDir + if (''.length -gt 0) { + $ModuleName = '' + } else { + $ModuleName = 'Az.StackHCIVM' + } + $CsFiles = Get-ChildItem -Path $ModelCsPath -Recurse -Filter *.cs + $Content = '' + $null = $CsFiles | ForEach-Object -Process { if ($_.Name.Split('.').count -eq 2 ) + { $Content += get-content $_.fullname -raw + } } + + $Tree = [Microsoft.CodeAnalysis.CSharp.SyntaxFactory]::ParseCompilationUnit($Content) + $Nodes = $Tree.ChildNodes().ChildNodes() + $classConstantMember = @{} + foreach ($Model in $Models) + { + $ModelName = $Model.modelName + $InterfaceNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq "I$ModelName") } + $ClassNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'class') -and ($_.Identifier.value -eq "$ModelName") } + $classConstantMember = @() + foreach ($class in $ClassNode) { + foreach ($member in $class.Members) { + $isConstant = $false + foreach ($attr in $member.AttributeLists) { + $memberName = $attr.Attributes.Name.ToString() + if ($memberName.EndsWith('.Constant')) { + $isConstant = $true + break + } + } + if (($member.Modifiers.ToString() -eq 'public') -and $isConstant) { + $classConstantMember += $member.Identifier.Value + } + } + } + if ($InterfaceNode.count -eq 0) { + continue + } + # through a queue, we iterate all the parent models. + $Queue = @($InterfaceNode) + $visited = @("I$ModelName") + $AllInterfaceNodes = @() + while ($Queue.count -ne 0) + { + $AllInterfaceNodes += $Queue[0] + # Baselist contains the direct parent models. + foreach ($parent in $Queue[0].BaseList.Types) + { + if (($parent.Type.Right.Identifier.Value -ne 'IJsonSerializable') -and (-not $visited.Contains($parent.Type.Right.Identifier.Value))) + { + $Queue = [Array]$Queue + ($Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq $parent.Type.Right.Identifier.Value) }) + $visited = [Array]$visited + $parent.Type.Right.Identifier.Value + } + } + $first, $Queue = $Queue + } + + $Namespace = $InterfaceNode.Parent.Name + $ObjectType = $ModelName + $ObjectTypeWithNamespace = "${Namespace}.${ObjectType}" + # remove duplicated module name + if ($ObjectType.StartsWith('StackHCIVM')) { + $ModulePrefix = '' + } else { + $ModulePrefix = 'StackHCIVM' + } + $OutputPath = Join-Path -ChildPath "New-Az${ModulePrefix}${ObjectType}Object.ps1" -Path $OutputDir + + $ParameterDefineScriptList = New-Object System.Collections.Generic.List[string] + $ParameterAssignScriptList = New-Object System.Collections.Generic.List[string] + foreach ($Node in $AllInterfaceNodes) + { + foreach ($Member in $Node.Members) + { + if ($classConstantMember.Contains($Member.Identifier.Value)) { + # skip constant member + continue + } + $Arguments = $Member.AttributeLists.Attributes.ArgumentList.Arguments + $Required = $false + $Description = "" + $Readonly = $False + $mutability = @{Read = $true; Create = $true; Update = $true} + foreach ($Argument in $Arguments) + { + if ($Argument.NameEquals.Name.Identifier.Value -eq "Required") + { + $Required = $Argument.Expression.Token.Value + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Description") + { + $Description = $Argument.Expression.Token.Value.Trim('.').replace('"', '`"') + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Readonly") + { + $Readonly = $Argument.Expression.Token.Value + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Read") + { + $mutability.Read = $Argument.Expression.Token.Value + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Create") + { + $mutability.Create = $Argument.Expression.Token.Value + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Update") + { + $mutability.Update = $Argument.Expression.Token.Value + } + } + if ($Readonly) + { + continue + } + $Identifier = $Member.Identifier.Value + $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1] + $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1] + if ($Type.StartsWith("System.Collections.Generic.List")) + { + # if the type is a list, we need to convert it to array + $matched = $Type -match '\<(?.+)\>$' + if ($matched) + { + $Type = $matches.Name + '[]'; + } + } + $ParameterDefinePropertyList = New-Object System.Collections.Generic.List[string] + if ($Required -and $mutability.Create -and $mutability.Update) + { + $ParameterDefinePropertyList.Add("Mandatory") + } + if ($Description -ne "") + { + $ParameterDefinePropertyList.Add("HelpMessage=`"${Description}.`"") + } + $ParameterDefineProperty = [System.String]::Join(", ", $ParameterDefinePropertyList) + # check whether completer is needed + $completer = ''; + if(IsEnumType($Member)){ + $completer += GetCompleter($Member) + } + $ParameterDefineScript = " + [Parameter($ParameterDefineProperty)]${completer} + [${Type}] + `$${Identifier}" + $ParameterDefineScriptList.Add($ParameterDefineScript) + $ParameterAssignScriptList.Add(" + if (`$PSBoundParameters.ContainsKey('${Identifier}')) { + `$Object.${Identifier} = `$${Identifier} + }") + } + } + $ParameterDefineScript = $ParameterDefineScriptList | Join-String -Separator "," + $ParameterAssignScript = $ParameterAssignScriptList | Join-String -Separator "" + + $cmdletName = "New-Az${ModulePrefix}${ObjectType}Object" + if ('' -ne $Model.cmdletName) { + $cmdletName = $Model.cmdletName + } + $OutputPath = Join-Path -ChildPath "${cmdletName}.ps1" -Path $OutputDir + $cmdletNameInLowerCase = $cmdletName.ToLower() + $Script = " +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the ""License""); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an ""AS IS"" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create an in-memory object for ${ObjectType}. +.Description +Create an in-memory object for ${ObjectType}. + +.Outputs +${ObjectTypeWithNamespace} +.Link +https://learn.microsoft.com/powershell/module/${ModuleName}/${cmdletNameInLowerCase} +#> +function ${cmdletName} { + [OutputType('${ObjectTypeWithNamespace}')] + [CmdletBinding(PositionalBinding=`$false)] + Param( +${ParameterDefineScript} + ) + + process { + `$Object = [${ObjectTypeWithNamespace}]::New() +${ParameterAssignScript} + return `$Object + } +} +" + Set-Content -Path $OutputPath -Value $Script + } +} + +function IsEnumType { + param ( + [Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax]$property + ) + $isEnum = $false + foreach ($attr in $property.AttributeLists) { + $attributeName = $attr.Attributes.Name.ToString() + if ($attributeName.Contains('ArgumentCompleter')) { + $isEnum = $true + break + } + } + return $isEnum; +} + +function GetCompleter { + param ( + [Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax]$property + ) + foreach ($attr in $property.AttributeLists) { + $attributeName = $attr.Attributes.Name.ToString() + if ($attributeName.Contains('ArgumentCompleter')) { + $attributeName = $attributeName.Split("::")[-1] + $possibleValues = [System.String]::Join(", ", $attr.Attributes.ArgumentList.Arguments) + $completer += "`n [${attributeName}(${possibleValues})]" + return $completer + } + } +} diff --git a/azstackhci-powershell/custom/Az.StackHCIVm.custom.psm1 b/azstackhci-powershell/custom/Az.StackHCIVm.custom.psm1 new file mode 100644 index 000000000000..fd4a0e930cbf --- /dev/null +++ b/azstackhci-powershell/custom/Az.StackHCIVm.custom.psm1 @@ -0,0 +1,17 @@ +# region Generated + # Load the private module dll + $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.StackHCIVM.private.dll') + + # Load the internal module + $internalModulePath = Join-Path $PSScriptRoot '..\internal\Az.StackHCIVM.internal.psm1' + if(Test-Path $internalModulePath) { + $null = Import-Module -Name $internalModulePath + } + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export script cmdlets + Get-ChildItem -Path $PSScriptRoot -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + Export-ModuleMember -Function (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot) -Alias (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot -AsAlias) +# endregion diff --git a/azstackhci-powershell/custom/README.md b/azstackhci-powershell/custom/README.md new file mode 100644 index 000000000000..ccc698fea728 --- /dev/null +++ b/azstackhci-powershell/custom/README.md @@ -0,0 +1,41 @@ +# Custom +This directory contains custom implementation for non-generated cmdlets for the `Az.StackHCIVM` module. Both scripts (`.ps1`) and C# files (`.cs`) can be implemented here. They will be used during the build process in `build-module.ps1`, and create cmdlets into the `..\exports` folder. The only generated file into this folder is the `Az.StackHCIVM.custom.psm1`. This file should not be modified. + +## Info +- Modifiable: yes +- Generated: partial +- Committed: yes +- Packaged: yes + +## Details +For `Az.StackHCIVM` to use custom cmdlets, it does this two different ways. We **highly recommend** creating script cmdlets, as they are easier to write and allow access to the other exported cmdlets. C# cmdlets *cannot access exported cmdlets*. + +For C# cmdlets, they are compiled with the rest of the generated low-level cmdlets into the `./bin/Az.StackHCIVM.private.dll`. The names of the cmdlets (methods) and files must follow the `[cmdletName]_[variantName]` syntax used for generated cmdlets. The `variantName` is used as the `ParameterSetName`, so use something appropriate that doesn't clash with already created variant or parameter set names. You cannot use the `ParameterSetName` property in the `Parameter` attribute on C# cmdlets. Each cmdlet must be separated into variants using the same pattern as seen in the `generated/cmdlets` folder. + +For script cmdlets, these are loaded via the `Az.StackHCIVM.custom.psm1`. Then, during the build process, this module is loaded and processed in the same manner as the C# cmdlets. The fundamental difference is the script cmdlets use the `ParameterSetName` attribute and C# cmdlets do not. To create a script cmdlet variant of a generated cmdlet, simply decorate all parameters in the script with the new `ParameterSetName` in the `Parameter` attribute. This will appropriately treat each parameter set as a separate variant when processed to be exported during the build. + +## Purpose +This allows the modules to have cmdlets that were not defined in the REST specification. It also allows combining logic using generated cmdlets. This is a level of customization beyond what can be done using the [readme configuration options](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md) that are currently available. These custom cmdlets are then referenced by the cmdlets created at build-time in the `..\exports` folder. + +## Usage +The easiest way currently to start developing custom cmdlets is to copy an existing cmdlet. For C# cmdlets, copy one from the `generated/cmdlets` folder. For script cmdlets, build the project using `build-module.ps1` and copy one of the scripts from the `..\exports` folder. After that, if you want to add new parameter sets, follow the guidelines in the `Details` section above. For implementing a new cmdlets, at minimum, please keep these parameters: +- Break +- DefaultProfile +- HttpPipelineAppend +- HttpPipelinePrepend +- Proxy +- ProxyCredential +- ProxyUseDefaultCredentials + +These provide functionality to our HTTP pipeline and other useful features. In script, you can forward these parameters using `$PSBoundParameters` to the other cmdlets you're calling within `Az.StackHCIVM`. For C#, follow the usage seen in the `ProcessRecordAsync` method. + +### Attributes +For processing the cmdlets, we've created some additional attributes: +- `Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DescriptionAttribute` + - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts. +- `Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExportAttribute` + - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.StackHCIVM`. +- `Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExportAttribute` + - Used in C# cmdlets to route exported cmdlets to the `..\internal`, which are *not exposed* by `Az.StackHCIVM`. For more information, see [README.md](..\internal/README.md) in the `..\internal` folder. +- `Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ProfileAttribute` + - Used in C# and script cmdlets to define which Azure profiles the cmdlet supports. This is only supported for Azure (`--azure`) modules. \ No newline at end of file diff --git a/azstackhci-powershell/docs/README.md b/azstackhci-powershell/docs/README.md new file mode 100644 index 000000000000..0cc1e488b46e --- /dev/null +++ b/azstackhci-powershell/docs/README.md @@ -0,0 +1,11 @@ +# Docs +This directory contains the documentation of the cmdlets for the `Az.StackHCIVM` module. To run documentation generation, use the `generate-help.ps1` script at the root module folder. Files in this folder will *always be overridden on regeneration*. To update documentation examples, please use the `..\examples` folder. + +## Info +- Modifiable: no +- Generated: all +- Committed: yes +- Packaged: yes + +## Details +The process of documentation generation loads `Az.StackHCIVM` and analyzes the exported cmdlets from the module. It recognizes the [help comments](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) that are generated into the scripts in the `..\exports` folder. Additionally, when writing custom cmdlets in the `..\custom` folder, you can use the help comments syntax, which decorate the exported scripts at build-time. The documentation examples are taken from the `..\examples` folder. \ No newline at end of file diff --git a/azstackhci-powershell/export-surface.ps1 b/azstackhci-powershell/export-surface.ps1 new file mode 100644 index 000000000000..48b1907bc703 --- /dev/null +++ b/azstackhci-powershell/export-surface.ps1 @@ -0,0 +1,41 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$NotIsolated, [switch]$IncludeGeneralParameters, [switch]$UseExpandedFormat) +$ErrorActionPreference = 'Stop' + +$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path +if(-not $NotIsolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated + return +} + +$dll = Join-Path $PSScriptRoot 'bin\Az.StackHCIVM.private.dll' +if(-not (Test-Path $dll)) { + Write-Error "Unable to find output assembly in '$binFolder'." +} +$null = Import-Module -Name $dll + +$moduleName = 'Az.StackHCIVM' +$exportsFolder = Join-Path $PSScriptRoot 'exports' +$resourcesFolder = Join-Path $PSScriptRoot 'resources' + +Export-CmdletSurface -ModuleName $moduleName -CmdletFolder $exportsFolder -OutputFolder $resourcesFolder -IncludeGeneralParameters $IncludeGeneralParameters.IsPresent -UseExpandedFormat $UseExpandedFormat.IsPresent +Write-Host -ForegroundColor Green "CmdletSurface file(s) created in '$resourcesFolder'" + +Export-ModelSurface -OutputFolder $resourcesFolder -UseExpandedFormat $UseExpandedFormat.IsPresent +Write-Host -ForegroundColor Green "ModelSurface file created in '$resourcesFolder'" + +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/azstackhci-powershell/exports/README.md b/azstackhci-powershell/exports/README.md new file mode 100644 index 000000000000..4d0444937e20 --- /dev/null +++ b/azstackhci-powershell/exports/README.md @@ -0,0 +1,20 @@ +# Exports +This directory contains the cmdlets *exported by* `Az.StackHCIVM`. No other cmdlets in this repository are directly exported. What that means is the `Az.StackHCIVM` module will run [Export-ModuleMember](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/export-modulemember) on the cmldets in this directory. The cmdlets in this directory are generated at **build-time**. Do not put any custom code, files, cmdlets, etc. into this directory. Please use `..\custom` for all custom implementation. + +## Info +- Modifiable: no +- Generated: all +- Committed: no +- Packaged: yes + +## Details +The cmdlets generated here are created every time you run `build-module.ps1`. These cmdlets are a merge of all (excluding `InternalExport`) cmdlets from the private binary (`..\bin\Az.StackHCIVM.private.dll`) and from the `..\custom\Az.StackHCIVM.custom.psm1` module. Cmdlets that are *not merged* from those directories are decorated with the `InternalExport` attribute. This happens when you set the cmdlet to **hide** from configuration. For more information on hiding, see [cmdlet hiding](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md#cmdlet-hiding-exportation-suppression) or the [README.md](..\internal/README.md) in the `..\internal` folder. + +## Purpose +We generate script cmdlets out of the binary cmdlets and custom cmdlets. The format of script cmdlets are simplistic; thus, easier to generate at build time. Generating the cmdlets is required as to allow merging of generated binary, hand-written binary, and hand-written custom cmdlets. For Azure cmdlets, having script cmdlets simplifies the mechanism for exporting Azure profiles. + +## Structure +The cmdlets generated here will flat in the directory (no sub-folders) as long as there are no Azure profiles specified for any cmdlets. Azure profiles (the `Profiles` attribute) is only applied when generating with the `--azure` attribute (or `azure: true` in the configuration). When Azure profiles are applied, the folder structure has a folder per profile. Each profile folder has only those cmdlets that apply to that profile. + +## Usage +When `./Az.StackHCIVM.psm1` is loaded, it dynamically exports cmdlets here based on the folder structure and on the selected profile. If there are no sub-folders, it exports all cmdlets at the root of this folder. If there are sub-folders, it checks to see the selected profile. If no profile is selected, it exports the cmdlets in the last sub-folder (alphabetically). If a profile is selected, it exports the cmdlets in the sub-folder that matches the profile name. If there is no sub-folder that matches the profile name, it exports no cmdlets and writes a warning message. \ No newline at end of file diff --git a/azstackhci-powershell/generated/api/Models/OperationListResult.PowerShell.cs b/azstackhci-powershell/generated/api/Models/OperationListResult.PowerShell.cs new file mode 100644 index 000000000000..7001b3cfb4a4 --- /dev/null +++ b/azstackhci-powershell/generated/api/Models/OperationListResult.PowerShell.cs @@ -0,0 +1,164 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + + /// The List Compute Operation operation response. + [System.ComponentModel.TypeConverter(typeof(OperationListResultTypeConverter))] + public partial class OperationListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// OverrideToString will be called if it is implemented. Implement this method in a partial class to enable this behavior + /// + /// /// instance serialized to a string, normally it is a Json + /// /// set returnNow to true if you provide a customized OverrideToString function + + partial void OverrideToString(ref string stringResult, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal)this).Value = (System.Collections.Generic.List) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToList(__y, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValueTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal)this).Value = (System.Collections.Generic.List) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToList(__y, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValueTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeAll)?.ToString(); + + public override string ToString() + { + var returnNow = false; + var result = global::System.String.Empty; + OverrideToString(ref result, ref returnNow); + if (returnNow) + { + return result; + } + return ToJsonString(); + } + } + /// The List Compute Operation operation response. + [System.ComponentModel.TypeConverter(typeof(OperationListResultTypeConverter))] + public partial interface IOperationListResult + + { + + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/api/Models/OperationListResult.cs b/azstackhci-powershell/generated/api/Models/OperationListResult.cs new file mode 100644 index 000000000000..d706b3e3a082 --- /dev/null +++ b/azstackhci-powershell/generated/api/Models/OperationListResult.cs @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + + /// The List Compute Operation operation response. + public partial class OperationListResult : + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal + { + + /// Internal Acessors for Value + System.Collections.Generic.List Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private System.Collections.Generic.List _value; + + /// The list of compute operations + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Origin(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PropertyOrigin.Owned)] + public System.Collections.Generic.List Value { get => this._value; } + + /// Creates an new instance. + public OperationListResult() + { + + } + } + /// The List Compute Operation operation response. + public partial interface IOperationListResult : + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IJsonSerializable + { + /// The list of compute operations + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = true, + Read = true, + Create = false, + Update = false, + Description = @"The list of compute operations", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue) })] + System.Collections.Generic.List Value { get; } + + } + /// The List Compute Operation operation response. + internal partial interface IOperationListResultInternal + + { + /// The list of compute operations + System.Collections.Generic.List Value { get; set; } + + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/api/Models/OperationListResult.json.cs b/azstackhci-powershell/generated/api/Models/OperationListResult.json.cs new file mode 100644 index 000000000000..3e550e2911f8 --- /dev/null +++ b/azstackhci-powershell/generated/api/Models/OperationListResult.json.cs @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + + /// The List Compute Operation operation response. + public partial class OperationListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json ? new OperationListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject instance to deserialize from. + internal OperationListResult(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonArray, out var __v) ? new global::System.Func>(()=> global::System.Linq.Enumerable.ToList(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue) (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValue.FromJson(__u) )) ))() : null : _value;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeRead)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/api/StackHciVM.cs b/azstackhci-powershell/generated/api/StackHciVM.cs new file mode 100644 index 000000000000..a44b736ee69f --- /dev/null +++ b/azstackhci-powershell/generated/api/StackHciVM.cs @@ -0,0 +1,27714 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + + /// + /// Low-level API implementation for the StackHCIVM service. + /// The Microsoft.AzureStackHCI Rest API spec + /// + public partial class StackHcivm + { + + /// Gets an Agent Version along with the download link currently present. + /// Defines the os type + /// Defines the agent version. To get latest, use latest or else a specific agent version. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgentVersionGet(string osType, string version, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/osType/" + + global::System.Uri.EscapeDataString(osType) + + "/agentVersions/" + + global::System.Uri.EscapeDataString(version) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AgentVersionGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets an Agent Version along with the download link currently present. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgentVersionGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/osType/(?[^/]+)/agentVersions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions/{version}'"); + } + + // replace URI parameters with values from identity + var osType = _match.Groups["osType"].Value; + var version = _match.Groups["version"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/osType/" + + osType + + "/agentVersions/" + + version + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AgentVersionGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets an Agent Version along with the download link currently present. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgentVersionGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/osType/(?[^/]+)/agentVersions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions/{version}'"); + } + + // replace URI parameters with values from identity + var osType = _match.Groups["osType"].Value; + var version = _match.Groups["version"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/osType/" + + osType + + "/agentVersions/" + + version + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.AgentVersionGetWithResult_Call (request, eventListener,sender); + } + } + + /// Gets an Agent Version along with the download link currently present. + /// Defines the os type + /// Defines the agent version. To get latest, use latest or else a specific agent version. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgentVersionGetWithResult(string osType, string version, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/osType/" + + global::System.Uri.EscapeDataString(osType) + + "/agentVersions/" + + global::System.Uri.EscapeDataString(version) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.AgentVersionGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgentVersionGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersion.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponseAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgentVersionGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersion.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponseAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// Defines the os type + /// Defines the agent version. To get latest, use latest or else a specific agent version. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgentVersionGet_Validate(string osType, string version, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(osType),osType); + await eventListener.AssertNotNull(nameof(version),version); + } + } + + /// Gets all Agent Versions along with the download link currently present. + /// Defines the os type. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgentVersionList(string osType, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/osType/" + + global::System.Uri.EscapeDataString(osType) + + "/agentVersions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AgentVersionList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets all Agent Versions along with the download link currently present. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgentVersionListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/osType/(?[^/]+)/agentVersions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions'"); + } + + // replace URI parameters with values from identity + var osType = _match.Groups["osType"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/osType/" + + osType + + "/agentVersions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AgentVersionList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets all Agent Versions along with the download link currently present. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgentVersionListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/osType/(?[^/]+)/agentVersions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions'"); + } + + // replace URI parameters with values from identity + var osType = _match.Groups["osType"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/osType/" + + osType + + "/agentVersions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.AgentVersionListWithResult_Call (request, eventListener,sender); + } + } + + /// Gets all Agent Versions along with the download link currently present. + /// Defines the os type. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgentVersionListWithResult(string osType, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/osType/" + + global::System.Uri.EscapeDataString(osType) + + "/agentVersions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.AgentVersionListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgentVersionListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersionsList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponseAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgentVersionList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersionsList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponseAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// Defines the os type. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgentVersionList_Validate(string osType, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(osType),osType); + } + } + + /// + /// Gets an Extension Metadata based on location, publisher, extensionType and version + /// + /// The ID of the target subscription. + /// The location of the Extension being received. + /// The publisher of the Extension being received. + /// The extensionType of the Extension being received. + /// The version of the Extension being received. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ExtensionMetadataGet(string subscriptionId, string location, string publisher, string extensionType, string version, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.HybridCompute/locations/" + + global::System.Uri.EscapeDataString(location) + + "/publishers/" + + global::System.Uri.EscapeDataString(publisher) + + "/extensionTypes/" + + global::System.Uri.EscapeDataString(extensionType) + + "/versions/" + + global::System.Uri.EscapeDataString(version) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ExtensionMetadataGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets an Extension Metadata based on location, publisher, extensionType and version + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ExtensionMetadataGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/locations/(?[^/]+)/publishers/(?[^/]+)/extensionTypes/(?[^/]+)/versions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var location = _match.Groups["location"].Value; + var publisher = _match.Groups["publisher"].Value; + var extensionType = _match.Groups["extensionType"].Value; + var version = _match.Groups["version"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.HybridCompute/locations/" + + location + + "/publishers/" + + publisher + + "/extensionTypes/" + + extensionType + + "/versions/" + + version + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ExtensionMetadataGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets an Extension Metadata based on location, publisher, extensionType and version + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ExtensionMetadataGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/locations/(?[^/]+)/publishers/(?[^/]+)/extensionTypes/(?[^/]+)/versions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var location = _match.Groups["location"].Value; + var publisher = _match.Groups["publisher"].Value; + var extensionType = _match.Groups["extensionType"].Value; + var version = _match.Groups["version"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.HybridCompute/locations/" + + location + + "/publishers/" + + publisher + + "/extensionTypes/" + + extensionType + + "/versions/" + + version + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.ExtensionMetadataGetWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Gets an Extension Metadata based on location, publisher, extensionType and version + /// + /// The ID of the target subscription. + /// The location of the Extension being received. + /// The publisher of the Extension being received. + /// The extensionType of the Extension being received. + /// The version of the Extension being received. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ExtensionMetadataGetWithResult(string subscriptionId, string location, string publisher, string extensionType, string version, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.HybridCompute/locations/" + + global::System.Uri.EscapeDataString(location) + + "/publishers/" + + global::System.Uri.EscapeDataString(publisher) + + "/extensionTypes/" + + global::System.Uri.EscapeDataString(extensionType) + + "/versions/" + + global::System.Uri.EscapeDataString(version) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.ExtensionMetadataGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ExtensionMetadataGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValue.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ExtensionMetadataGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValue.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The location of the Extension being received. + /// The publisher of the Extension being received. + /// The extensionType of the Extension being received. + /// The version of the Extension being received. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ExtensionMetadataGet_Validate(string subscriptionId, string location, string publisher, string extensionType, string version, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(location),location); + await eventListener.AssertNotNull(nameof(publisher),publisher); + await eventListener.AssertNotNull(nameof(extensionType),extensionType); + await eventListener.AssertNotNull(nameof(version),version); + } + } + + /// Gets all Extension versions based on location, publisher, extensionType + /// The ID of the target subscription. + /// The location of the Extension being received. + /// The publisher of the Extension being received. + /// The extensionType of the Extension being received. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ExtensionMetadataList(string subscriptionId, string location, string publisher, string extensionType, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.HybridCompute/locations/" + + global::System.Uri.EscapeDataString(location) + + "/publishers/" + + global::System.Uri.EscapeDataString(publisher) + + "/extensionTypes/" + + global::System.Uri.EscapeDataString(extensionType) + + "/versions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ExtensionMetadataList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets all Extension versions based on location, publisher, extensionType + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ExtensionMetadataListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/locations/(?[^/]+)/publishers/(?[^/]+)/extensionTypes/(?[^/]+)/versions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var location = _match.Groups["location"].Value; + var publisher = _match.Groups["publisher"].Value; + var extensionType = _match.Groups["extensionType"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.HybridCompute/locations/" + + location + + "/publishers/" + + publisher + + "/extensionTypes/" + + extensionType + + "/versions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ExtensionMetadataList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets all Extension versions based on location, publisher, extensionType + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ExtensionMetadataListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/locations/(?[^/]+)/publishers/(?[^/]+)/extensionTypes/(?[^/]+)/versions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var location = _match.Groups["location"].Value; + var publisher = _match.Groups["publisher"].Value; + var extensionType = _match.Groups["extensionType"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.HybridCompute/locations/" + + location + + "/publishers/" + + publisher + + "/extensionTypes/" + + extensionType + + "/versions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.ExtensionMetadataListWithResult_Call (request, eventListener,sender); + } + } + + /// Gets all Extension versions based on location, publisher, extensionType + /// The ID of the target subscription. + /// The location of the Extension being received. + /// The publisher of the Extension being received. + /// The extensionType of the Extension being received. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ExtensionMetadataListWithResult(string subscriptionId, string location, string publisher, string extensionType, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.HybridCompute/locations/" + + global::System.Uri.EscapeDataString(location) + + "/publishers/" + + global::System.Uri.EscapeDataString(publisher) + + "/extensionTypes/" + + global::System.Uri.EscapeDataString(extensionType) + + "/versions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.ExtensionMetadataListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ExtensionMetadataListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValueListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ExtensionMetadataList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValueListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The location of the Extension being received. + /// The publisher of the Extension being received. + /// The extensionType of the Extension being received. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ExtensionMetadataList_Validate(string subscriptionId, string location, string publisher, string extensionType, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(location),location); + await eventListener.AssertNotNull(nameof(publisher),publisher); + await eventListener.AssertNotNull(nameof(extensionType),extensionType); + } + } + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// The gallery images resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// + /// The gallery images resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var galleryImageName = _match.Groups["galleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + galleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// + /// The gallery images resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var galleryImageName = _match.Groups["galleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + galleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// Json string supplied to the GalleryImagesCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// Json string supplied to the GalleryImagesCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// The gallery images resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// The gallery images resource definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(galleryImageName),galleryImageName); + await eventListener.AssertMinimumLength(nameof(galleryImageName),galleryImageName,1); + await eventListener.AssertMaximumLength(nameof(galleryImageName),galleryImageName,80); + await eventListener.AssertRegEx(nameof(galleryImageName), galleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete a gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesDelete(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete a gallery image. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var galleryImageName = _match.Groups["galleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + galleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesDelete_Validate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(galleryImageName),galleryImageName); + await eventListener.AssertMinimumLength(nameof(galleryImageName),galleryImageName,1); + await eventListener.AssertMaximumLength(nameof(galleryImageName),galleryImageName,80); + await eventListener.AssertRegEx(nameof(galleryImageName), galleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); + } + } + + /// Gets a gallery image + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesGet(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a gallery image + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var galleryImageName = _match.Groups["galleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + galleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a gallery image + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var galleryImageName = _match.Groups["galleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + galleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesGetWithResult_Call (request, eventListener,sender); + } + } + + /// Gets a gallery image + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesGetWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesGet_Validate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(galleryImageName),galleryImageName); + await eventListener.AssertMinimumLength(nameof(galleryImageName),galleryImageName,1); + await eventListener.AssertMaximumLength(nameof(galleryImageName),galleryImageName,80); + await eventListener.AssertRegEx(nameof(galleryImageName), galleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); + } + } + + /// + /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the + /// next page of gallery images. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next + /// page of gallery images. + /// + /// The ID of the target subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/galleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next + /// page of gallery images. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/galleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next + /// page of gallery images. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/galleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesListAllWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next + /// page of gallery images. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/galleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesListAllWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + } + } + + /// + /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the + /// next page of gallery images. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the + /// next page of gallery images. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the + /// next page of gallery images. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + } + } + + /// The operation to update a gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// The gallery images resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesUpdate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a gallery image. + /// + /// The gallery images resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var galleryImageName = _match.Groups["galleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + galleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a gallery image. + /// + /// The gallery images resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var galleryImageName = _match.Groups["galleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + galleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// Json string supplied to the GalleryImagesUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesUpdateViaJsonString(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// Json string supplied to the GalleryImagesUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// The gallery images resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GalleryImagesUpdateWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/galleryImages/" + + global::System.Uri.EscapeDataString(galleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GalleryImagesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the gallery image + /// The gallery images resource patch definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GalleryImagesUpdate_Validate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(galleryImageName),galleryImageName); + await eventListener.AssertMinimumLength(nameof(galleryImageName),galleryImageName,1); + await eventListener.AssertMaximumLength(nameof(galleryImageName),galleryImageName,80); + await eventListener.AssertRegEx(nameof(galleryImageName), galleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Create GuestAgent. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Request payload. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentCreate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentCreate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Create GuestAgent. + /// + /// Request payload. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentCreateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentCreate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Create GuestAgent. + /// + /// Request payload. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A + /// that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentCreateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GuestAgentCreateWithResult_Call (request, eventListener,sender); + } + } + + /// Create GuestAgent. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Json string supplied to the GuestAgentCreate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentCreateViaJsonString(string resourceUri, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentCreate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Create GuestAgent. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Json string supplied to the GuestAgentCreate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A + /// that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentCreateViaJsonStringWithResult(string resourceUri, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GuestAgentCreateWithResult_Call (request, eventListener,sender); + } + } + + /// Create GuestAgent. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Request payload. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A + /// that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentCreateWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GuestAgentCreateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A + /// that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentCreateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentCreate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Request payload. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentCreate_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Implements GuestAgent DELETE method. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentDelete(string resourceUri, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentDelete_Call (request, onNoContent,onDefault,eventListener,sender); + } + } + + /// Implements GuestAgent DELETE method. + /// + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentDelete_Call (request, onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_finalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentDelete_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// Implements GuestAgent GET method. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentGet(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Implements GuestAgent GET method. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Implements GuestAgent GET method. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A + /// that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GuestAgentGetWithResult_Call (request, eventListener,sender); + } + } + + /// Implements GuestAgent GET method. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A + /// that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentGetWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GuestAgentGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A + /// that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentGet_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// Returns the list of GuestAgent of the given vm. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentsList(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentsList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Returns the list of GuestAgent of the given vm. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentsListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.GuestAgentsList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Returns the list of GuestAgent of the given vm. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentsListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GuestAgentsListWithResult_Call (request, eventListener,sender); + } + } + + /// Returns the list of GuestAgent of the given vm. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task GuestAgentsListWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.GuestAgentsListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentsListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task GuestAgentsList_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// Implements HybridIdentityMetadata GET method. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.HybridIdentityMetadataGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Implements HybridIdentityMetadata GET method. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Name of the HybridIdentityMetadata. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1(string subscriptionId, string resourceGroupName, string machineName, string metadataName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/hybridIdentityMetadata/" + + global::System.Uri.EscapeDataString(metadataName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.HybridIdentityMetadataGet1_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Implements HybridIdentityMetadata GET method. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1ViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/hybridIdentityMetadata/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata/{metadataName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var metadataName = _match.Groups["metadataName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/hybridIdentityMetadata/" + + metadataName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.HybridIdentityMetadataGet1_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Implements HybridIdentityMetadata GET method. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1ViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/hybridIdentityMetadata/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata/{metadataName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var metadataName = _match.Groups["metadataName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/hybridIdentityMetadata/" + + metadataName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.HybridIdentityMetadataGet1WithResult_Call (request, eventListener,sender); + } + } + + /// Implements HybridIdentityMetadata GET method. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Name of the HybridIdentityMetadata. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1WithResult(string subscriptionId, string resourceGroupName, string machineName, string metadataName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/hybridIdentityMetadata/" + + global::System.Uri.EscapeDataString(metadataName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.HybridIdentityMetadataGet1WithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1WithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Name of the HybridIdentityMetadata. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1_Validate(string subscriptionId, string resourceGroupName, string machineName, string metadataName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(metadataName),metadataName); + await eventListener.AssertRegEx(nameof(metadataName), metadataName, @"[a-zA-Z0-9-_\.]"); + } + } + + /// Implements HybridIdentityMetadata GET method. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.HybridIdentityMetadataGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Implements HybridIdentityMetadata GET method. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.HybridIdentityMetadataGetWithResult_Call (request, eventListener,sender); + } + } + + /// Implements HybridIdentityMetadata GET method. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataGetWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.HybridIdentityMetadataGetWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadata.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadata.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// Returns the list of HybridIdentityMetadata of the given vm. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataList(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.HybridIdentityMetadataList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Returns the list of HybridIdentityMetadata of the given machine. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachines(string subscriptionId, string resourceGroupName, string machineName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/hybridIdentityMetadata" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.HybridIdentityMetadataListByMachines_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Returns the list of HybridIdentityMetadata of the given machine. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachinesViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/hybridIdentityMetadata$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/hybridIdentityMetadata" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.HybridIdentityMetadataListByMachines_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Returns the list of HybridIdentityMetadata of the given machine. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachinesViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/hybridIdentityMetadata$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/hybridIdentityMetadata" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.HybridIdentityMetadataListByMachinesWithResult_Call (request, eventListener,sender); + } + } + + /// Returns the list of HybridIdentityMetadata of the given machine. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachinesWithResult(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/hybridIdentityMetadata" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.HybridIdentityMetadataListByMachinesWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachinesWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataListAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachines_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataListAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but + /// you will get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachines_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + } + } + + /// Returns the list of HybridIdentityMetadata of the given vm. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.HybridIdentityMetadataList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Returns the list of HybridIdentityMetadata of the given vm. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.HybridIdentityMetadataListWithResult_Call (request, eventListener,sender); + } + } + + /// Returns the list of HybridIdentityMetadata of the given vm. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task HybridIdentityMetadataListWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.HybridIdentityMetadataListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task HybridIdentityMetadataList_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// The logical network resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// + /// The logical network resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + logicalNetworkName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// + /// The logical network resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + logicalNetworkName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// Json string supplied to the LogicalNetworksCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// Json string supplied to the LogicalNetworksCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// The logical network resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// The logical network resource definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(logicalNetworkName),logicalNetworkName); + await eventListener.AssertMinimumLength(nameof(logicalNetworkName),logicalNetworkName,2); + await eventListener.AssertMaximumLength(nameof(logicalNetworkName),logicalNetworkName,64); + await eventListener.AssertRegEx(nameof(logicalNetworkName), logicalNetworkName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete a logical network. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksDelete(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete a logical network. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + logicalNetworkName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksDelete_Validate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(logicalNetworkName),logicalNetworkName); + await eventListener.AssertMinimumLength(nameof(logicalNetworkName),logicalNetworkName,2); + await eventListener.AssertMaximumLength(nameof(logicalNetworkName),logicalNetworkName,64); + await eventListener.AssertRegEx(nameof(logicalNetworkName), logicalNetworkName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$"); + } + } + + /// Gets a logical network + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksGet(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a logical network + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + logicalNetworkName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a logical network + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + logicalNetworkName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksGetWithResult_Call (request, eventListener,sender); + } + } + + /// Gets a logical network + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksGetWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksGet_Validate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(logicalNetworkName),logicalNetworkName); + await eventListener.AssertMinimumLength(nameof(logicalNetworkName),logicalNetworkName,2); + await eventListener.AssertMaximumLength(nameof(logicalNetworkName),logicalNetworkName,64); + await eventListener.AssertRegEx(nameof(logicalNetworkName), logicalNetworkName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$"); + } + } + + /// + /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// The ID of the target subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/logicalNetworks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/logicalNetworks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksListAllWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksListAllWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + } + } + + /// + /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + } + } + + /// The operation to update a logical network. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// The logical network resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksUpdate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a logical network. + /// + /// The logical network resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + logicalNetworkName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a logical network. + /// + /// The logical network resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + logicalNetworkName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a logical network. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// Json string supplied to the LogicalNetworksUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksUpdateViaJsonString(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LogicalNetworksUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a logical network. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// Json string supplied to the LogicalNetworksUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a logical network. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// The logical network resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LogicalNetworksUpdateWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" + + global::System.Uri.EscapeDataString(logicalNetworkName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.LogicalNetworksUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the logical network + /// The logical network resource patch definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LogicalNetworksUpdate_Validate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(logicalNetworkName),logicalNetworkName); + await eventListener.AssertMinimumLength(nameof(logicalNetworkName),logicalNetworkName,2); + await eventListener.AssertMaximumLength(nameof(logicalNetworkName),logicalNetworkName,64); + await eventListener.AssertRegEx(nameof(logicalNetworkName), logicalNetworkName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to Create the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Parameters supplied to the Create Machine Extension operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to Create the extension. + /// + /// Parameters supplied to the Create Machine Extension operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var extensionName = _match.Groups["extensionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions/" + + extensionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to Create the extension. + /// + /// Parameters supplied to the Create Machine Extension operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var extensionName = _match.Groups["extensionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions/" + + extensionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to Create the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Json string supplied to the MachineExtensionsCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to Create the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Json string supplied to the MachineExtensionsCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to Create the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Parameters supplied to the Create Machine Extension operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Parameters supplied to the Create Machine Extension operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(extensionName),extensionName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be deleted. + /// The name of the machine extension. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsDelete(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete the extension. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var extensionName = _match.Groups["extensionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions/" + + extensionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_finalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be deleted. + /// The name of the machine extension. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsDelete_Validate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(extensionName),extensionName); + } + } + + /// The operation to get the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine containing the extension. + /// The name of the machine extension. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsGet(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to get the extension. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var extensionName = _match.Groups["extensionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions/" + + extensionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to get the extension. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var extensionName = _match.Groups["extensionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions/" + + extensionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsGetWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to get the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine containing the extension. + /// The name of the machine extension. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsGetWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine containing the extension. + /// The name of the machine extension. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsGet_Validate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(extensionName),extensionName); + } + } + + /// The operation to get all extensions of a non-Azure machine + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine containing the extension. + /// The expand expression to apply on the operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsList(string subscriptionId, string resourceGroupName, string machineName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions" + + "?" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + + "&" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to get all extensions of a non-Azure machine + /// + /// The expand expression to apply on the operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsListViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions" + + "?" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + + "&" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to get all extensions of a non-Azure machine + /// + /// The expand expression to apply on the operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsListViaIdentityWithResult(global::System.String viaIdentity, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions" + + "?" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + + "&" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsListWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to get all extensions of a non-Azure machine + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine containing the extension. + /// The expand expression to apply on the operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsListWithResult(string subscriptionId, string resourceGroupName, string machineName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions" + + "?" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + + "&" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine containing the extension. + /// The expand expression to apply on the operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsList_Validate(string subscriptionId, string resourceGroupName, string machineName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// The operation to Update the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Parameters supplied to the Create Machine Extension operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsUpdate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to Update the extension. + /// + /// Parameters supplied to the Create Machine Extension operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var extensionName = _match.Groups["extensionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions/" + + extensionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to Update the extension. + /// + /// Parameters supplied to the Create Machine Extension operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + var extensionName = _match.Groups["extensionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/extensions/" + + extensionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to Update the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Json string supplied to the MachineExtensionsUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsUpdateViaJsonString(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachineExtensionsUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to Update the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Json string supplied to the MachineExtensionsUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to Update the extension. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Parameters supplied to the Create Machine Extension operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachineExtensionsUpdateWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/extensions/" + + global::System.Uri.EscapeDataString(extensionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachineExtensionsUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the machine where the extension should be created or updated. + /// The name of the machine extension. + /// Parameters supplied to the Create Machine Extension operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachineExtensionsUpdate_Validate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(extensionName),extensionName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Parameters supplied to the Create hybrid machine operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesCreateOrUpdate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. + /// + /// + /// Parameters supplied to the Create hybrid machine operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. + /// + /// + /// Parameters supplied to the Create hybrid machine operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that + /// will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Json string supplied to the MachinesCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Json string supplied to the MachinesCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that + /// will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Parameters supplied to the Create hybrid machine operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that + /// will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that + /// will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Parameters supplied to the Create hybrid machine operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete a hybrid machine. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesDelete(string subscriptionId, string resourceGroupName, string machineName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete a hybrid machine. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesDelete_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + } + } + + /// + /// Retrieves information about the model view or the instance view of a hybrid machine. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// The expand expression to apply on the operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesGet(string subscriptionId, string resourceGroupName, string machineName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Retrieves information about the model view or the instance view of a hybrid machine. + /// + /// + /// The expand expression to apply on the operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesGetViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Retrieves information about the model view or the instance view of a hybrid machine. + /// + /// + /// The expand expression to apply on the operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that + /// will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesGetViaIdentityWithResult(global::System.String viaIdentity, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesGetWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Retrieves information about the model view or the instance view of a hybrid machine. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// The expand expression to apply on the operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that + /// will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesGetWithResult(string subscriptionId, string resourceGroupName, string machineName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that + /// will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation events + /// back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// The expand expression to apply on the operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesGet_Validate(string subscriptionId, string resourceGroupName, string machineName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// + /// Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next + /// page of hybrid machines. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesListByResourceGroup(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesListByResourceGroup_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next + /// page of hybrid machines. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesListByResourceGroupViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesListByResourceGroup_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next + /// page of hybrid machines. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesListByResourceGroupViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesListByResourceGroupWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next + /// page of hybrid machines. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesListByResourceGroupWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesListByResourceGroupWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesListByResourceGroupWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesListByResourceGroup_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesListByResourceGroup_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + } + } + + /// + /// Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next + /// page of hybrid machines. + /// + /// The ID of the target subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesListBySubscription(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.HybridCompute/machines" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesListBySubscription_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next + /// page of hybrid machines. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesListBySubscriptionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/machines$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.HybridCompute/machines" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesListBySubscription_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next + /// page of hybrid machines. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesListBySubscriptionViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/machines$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.HybridCompute/machines" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesListBySubscriptionWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next + /// page of hybrid machines. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesListBySubscriptionWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.HybridCompute/machines" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesListBySubscriptionWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesListBySubscriptionWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesListBySubscription_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesListBySubscription_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + } + } + + /// The operation to update a hybrid machine. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Parameters supplied to the Update hybrid machine operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesUpdate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a hybrid machine. + /// + /// Parameters supplied to the Update hybrid machine operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a hybrid machine. + /// + /// Parameters supplied to the Update hybrid machine operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that + /// will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a hybrid machine. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Json string supplied to the MachinesUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesUpdateViaJsonString(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MachinesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a hybrid machine. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Json string supplied to the MachinesUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that + /// will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a hybrid machine. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Parameters supplied to the Update hybrid machine operation. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that + /// will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MachinesUpdateWithResult(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MachinesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that + /// will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Parameters supplied to the Update hybrid machine operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MachinesUpdate_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// The marketplace gallery image resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// + /// The marketplace gallery image resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + marketplaceGalleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// + /// The marketplace gallery image resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + marketplaceGalleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// Json string supplied to the MarketplaceGalleryImagesCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// Json string supplied to the MarketplaceGalleryImagesCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// The marketplace gallery image resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but + /// you will get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// The marketplace gallery image resource definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName); + await eventListener.AssertMinimumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,1); + await eventListener.AssertMaximumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,80); + await eventListener.AssertRegEx(nameof(marketplaceGalleryImageName), marketplaceGalleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete a marketplace gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesDelete(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete a marketplace gallery image. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + marketplaceGalleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesDelete_Validate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName); + await eventListener.AssertMinimumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,1); + await eventListener.AssertMaximumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,80); + await eventListener.AssertRegEx(nameof(marketplaceGalleryImageName), marketplaceGalleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); + } + } + + /// Gets a marketplace gallery image + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGet(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a marketplace gallery image + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + marketplaceGalleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a marketplace gallery image + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + marketplaceGalleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesGetWithResult_Call (request, eventListener,sender); + } + } + + /// Gets a marketplace gallery image + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGetWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesGetWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGet_Validate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName); + await eventListener.AssertMinimumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,1); + await eventListener.AssertMaximumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,80); + await eventListener.AssertRegEx(nameof(marketplaceGalleryImageName), marketplaceGalleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); + } + } + + /// + /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response + /// to get the next page of marketplace gallery images. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to + /// get the next page of marketplace gallery images. + /// + /// The ID of the target subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to + /// get the next page of marketplace gallery images. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to + /// get the next page of marketplace gallery images. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesListAllWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to + /// get the next page of marketplace gallery images. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesListAllWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + } + } + + /// + /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response + /// to get the next page of marketplace gallery images. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response + /// to get the next page of marketplace gallery images. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response + /// to get the next page of marketplace gallery images. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + } + } + + /// The operation to update a marketplace gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// The marketplace gallery image resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a marketplace gallery image. + /// + /// The marketplace gallery image resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + marketplaceGalleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a marketplace gallery image. + /// + /// The marketplace gallery image resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + marketplaceGalleryImageName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a marketplace gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// Json string supplied to the MarketplaceGalleryImagesUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateViaJsonString(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.MarketplaceGalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a marketplace gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// Json string supplied to the MarketplaceGalleryImagesUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a marketplace gallery image. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// The marketplace gallery image resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" + + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.MarketplaceGalleryImagesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the marketplace gallery image + /// The marketplace gallery image resource patch definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdate_Validate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName); + await eventListener.AssertMinimumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,1); + await eventListener.AssertMaximumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,80); + await eventListener.AssertRegEx(nameof(marketplaceGalleryImageName), marketplaceGalleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// The network interface resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// + /// The network interface resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + networkInterfaceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// + /// The network interface resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + networkInterfaceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// Json string supplied to the NetworkInterfacesCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// Json string supplied to the NetworkInterfacesCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// The network interface resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// The network interface resource definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(networkInterfaceName),networkInterfaceName); + await eventListener.AssertMinimumLength(nameof(networkInterfaceName),networkInterfaceName,1); + await eventListener.AssertMaximumLength(nameof(networkInterfaceName),networkInterfaceName,80); + await eventListener.AssertRegEx(nameof(networkInterfaceName), networkInterfaceName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete a network interface. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesDelete(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete a network interface. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + networkInterfaceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesDelete_Validate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(networkInterfaceName),networkInterfaceName); + await eventListener.AssertMinimumLength(nameof(networkInterfaceName),networkInterfaceName,1); + await eventListener.AssertMaximumLength(nameof(networkInterfaceName),networkInterfaceName,80); + await eventListener.AssertRegEx(nameof(networkInterfaceName), networkInterfaceName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); + } + } + + /// Gets a network interface + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesGet(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a network interface + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + networkInterfaceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a network interface + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + networkInterfaceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesGetWithResult_Call (request, eventListener,sender); + } + } + + /// Gets a network interface + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesGetWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesGet_Validate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(networkInterfaceName),networkInterfaceName); + await eventListener.AssertMinimumLength(nameof(networkInterfaceName),networkInterfaceName,1); + await eventListener.AssertMaximumLength(nameof(networkInterfaceName),networkInterfaceName,80); + await eventListener.AssertRegEx(nameof(networkInterfaceName), networkInterfaceName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); + } + } + + /// + /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get + /// the next page of network interfaces. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the + /// next page of network interfaces. + /// + /// The ID of the target subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the + /// next page of network interfaces. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/networkInterfaces" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the + /// next page of network interfaces. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/networkInterfaces" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesListAllWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the + /// next page of network interfaces. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesListAllWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + } + } + + /// + /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get + /// the next page of network interfaces. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get + /// the next page of network interfaces. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get + /// the next page of network interfaces. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + } + } + + /// The operation to update a network interface. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// The network interface resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesUpdate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a network interface. + /// + /// The network interface resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + networkInterfaceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a network interface. + /// + /// The network interface resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + networkInterfaceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a network interface. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// Json string supplied to the NetworkInterfacesUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateViaJsonString(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkInterfacesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a network interface. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// Json string supplied to the NetworkInterfacesUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a network interface. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// The network interface resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" + + global::System.Uri.EscapeDataString(networkInterfaceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkInterfacesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the network interface + /// The network interface resource patch definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkInterfacesUpdate_Validate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(networkInterfaceName),networkInterfaceName); + await eventListener.AssertMinimumLength(nameof(networkInterfaceName),networkInterfaceName,1); + await eventListener.AssertMaximumLength(nameof(networkInterfaceName),networkInterfaceName,80); + await eventListener.AssertRegEx(nameof(networkInterfaceName), networkInterfaceName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to get network information of hybrid machine + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkProfileGet(string subscriptionId, string resourceGroupName, string machineName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/networkProfile" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkProfileGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to get network information of hybrid machine + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkProfileGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/networkProfile$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/networkProfile'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/networkProfile" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.NetworkProfileGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to get network information of hybrid machine + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkProfileGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/networkProfile$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/networkProfile'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/networkProfile" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkProfileGetWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to get network information of hybrid machine + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task NetworkProfileGetWithResult(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/networkProfile" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.NetworkProfileGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkProfileGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkProfile.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkProfileGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkProfile.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task NetworkProfileGet_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + } + } + + /// Gets a list of hybrid compute operations. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task OperationsList(global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/operations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.OperationsList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a list of hybrid compute operations. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task OperationsListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/operations$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/operations'"); + } + + // replace URI parameters with values from identity + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/operations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.OperationsList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a list of hybrid compute operations. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task OperationsListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/operations$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/operations'"); + } + + // replace URI parameters with values from identity + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/operations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.OperationsListWithResult_Call (request, eventListener,sender); + } + } + + /// Gets a list of hybrid compute operations. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task OperationsListWithResult(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.HybridCompute/operations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.OperationsListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task OperationsListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task OperationsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task OperationsList_Validate(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + + } + } + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// The storage container resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// + /// The storage container resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var storageContainerName = _match.Groups["storageContainerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + storageContainerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// + /// The storage container resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var storageContainerName = _match.Groups["storageContainerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + storageContainerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// Json string supplied to the StorageContainersCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// Json string supplied to the StorageContainersCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// The storage container resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// The storage container resource definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(storageContainerName),storageContainerName); + await eventListener.AssertMinimumLength(nameof(storageContainerName),storageContainerName,1); + await eventListener.AssertMaximumLength(nameof(storageContainerName),storageContainerName,80); + await eventListener.AssertRegEx(nameof(storageContainerName), storageContainerName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete a storage container. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersDelete(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete a storage container. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var storageContainerName = _match.Groups["storageContainerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + storageContainerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersDelete_Validate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(storageContainerName),storageContainerName); + await eventListener.AssertMinimumLength(nameof(storageContainerName),storageContainerName,1); + await eventListener.AssertMaximumLength(nameof(storageContainerName),storageContainerName,80); + await eventListener.AssertRegEx(nameof(storageContainerName), storageContainerName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); + } + } + + /// Gets a storage container + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersGet(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a storage container + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var storageContainerName = _match.Groups["storageContainerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + storageContainerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a storage container + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var storageContainerName = _match.Groups["storageContainerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + storageContainerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersGetWithResult_Call (request, eventListener,sender); + } + } + + /// Gets a storage container + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersGetWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersGet_Validate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(storageContainerName),storageContainerName); + await eventListener.AssertMinimumLength(nameof(storageContainerName),storageContainerName,1); + await eventListener.AssertMaximumLength(nameof(storageContainerName),storageContainerName,80); + await eventListener.AssertRegEx(nameof(storageContainerName), storageContainerName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); + } + } + + /// + /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get + /// the next page of storage containers. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the + /// next page of storage containers. + /// + /// The ID of the target subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/storageContainers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the + /// next page of storage containers. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/storageContainers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the + /// next page of storage containers. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/storageContainers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersListAllWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the + /// next page of storage containers. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/storageContainers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersListAllWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + } + } + + /// + /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get + /// the next page of storage containers. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get + /// the next page of storage containers. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get + /// the next page of storage containers. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + } + } + + /// The operation to update a storage container. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// The storage container resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersUpdate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a storage container. + /// + /// The storage container resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var storageContainerName = _match.Groups["storageContainerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + storageContainerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a storage container. + /// + /// The storage container resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var storageContainerName = _match.Groups["storageContainerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + storageContainerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a storage container. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// Json string supplied to the StorageContainersUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersUpdateViaJsonString(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.StorageContainersUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a storage container. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// Json string supplied to the StorageContainersUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a storage container. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// The storage container resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task StorageContainersUpdateWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/storageContainers/" + + global::System.Uri.EscapeDataString(storageContainerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.StorageContainersUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the storage container + /// The storage container resource patch definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task StorageContainersUpdate_Validate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(storageContainerName),storageContainerName); + await eventListener.AssertMinimumLength(nameof(storageContainerName),storageContainerName,1); + await eventListener.AssertMaximumLength(nameof(storageContainerName),storageContainerName,80); + await eventListener.AssertRegEx(nameof(storageContainerName), storageContainerName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to Upgrade Machine Extensions. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Parameters supplied to the Upgrade Extensions operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task UpgradeExtensions(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade body, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/upgradeExtensions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.UpgradeExtensions_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to Upgrade Machine Extensions. + /// + /// Parameters supplied to the Upgrade Extensions operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task UpgradeExtensionsViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade body, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var machineName = _match.Groups["machineName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.HybridCompute/machines/" + + machineName + + "/upgradeExtensions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.UpgradeExtensions_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to Upgrade Machine Extensions. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Json string supplied to the UpgradeExtensions operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task UpgradeExtensionsViaJsonString(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2023-03-15-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.HybridCompute/machines/" + + global::System.Uri.EscapeDataString(machineName) + + "/upgradeExtensions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.UpgradeExtensions_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task UpgradeExtensions_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_finalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// The name of the hybrid machine. + /// Parameters supplied to the Upgrade Extensions operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task UpgradeExtensions_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(machineName),machineName); + await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); + await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); + await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// The virtual hard disk resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// + /// The virtual hard disk resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + virtualHardDiskName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// + /// The virtual hard disk resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + virtualHardDiskName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// Json string supplied to the VirtualHardDisksCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// Json string supplied to the VirtualHardDisksCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// The virtual hard disk resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// The virtual hard disk resource definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(virtualHardDiskName),virtualHardDiskName); + await eventListener.AssertMinimumLength(nameof(virtualHardDiskName),virtualHardDiskName,1); + await eventListener.AssertMaximumLength(nameof(virtualHardDiskName),virtualHardDiskName,80); + await eventListener.AssertRegEx(nameof(virtualHardDiskName), virtualHardDiskName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete a virtual hard disk. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksDelete(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete a virtual hard disk. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + virtualHardDiskName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksDelete_Validate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(virtualHardDiskName),virtualHardDiskName); + await eventListener.AssertMinimumLength(nameof(virtualHardDiskName),virtualHardDiskName,1); + await eventListener.AssertMaximumLength(nameof(virtualHardDiskName),virtualHardDiskName,80); + await eventListener.AssertRegEx(nameof(virtualHardDiskName), virtualHardDiskName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$"); + } + } + + /// Gets a virtual hard disk + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksGet(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a virtual hard disk + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + virtualHardDiskName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a virtual hard disk + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + virtualHardDiskName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksGetWithResult_Call (request, eventListener,sender); + } + } + + /// Gets a virtual hard disk + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksGetWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksGetWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksGet_Validate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(virtualHardDiskName),virtualHardDiskName); + await eventListener.AssertMinimumLength(nameof(virtualHardDiskName),virtualHardDiskName,1); + await eventListener.AssertMaximumLength(nameof(virtualHardDiskName),virtualHardDiskName,80); + await eventListener.AssertRegEx(nameof(virtualHardDiskName), virtualHardDiskName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$"); + } + } + + /// + /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get + /// the next page of virtual hard disks. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the + /// next page of virtual hard disks. + /// + /// The ID of the target subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the + /// next page of virtual hard disks. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksListAll_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the + /// next page of virtual hard disks. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksListAllWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the + /// next page of virtual hard disks. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksListAllWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID of the target subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + } + } + + /// + /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get + /// the next page of virtual hard disks. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get + /// the next page of virtual hard disks. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get + /// the next page of virtual hard disks. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksListWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + } + } + + /// The operation to update a virtual hard disk. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// The virtual hard disk resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksUpdate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a virtual hard disk. + /// + /// The virtual hard disk resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + virtualHardDiskName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a virtual hard disk. + /// + /// The virtual hard disk resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + virtualHardDiskName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a virtual hard disk. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// Json string supplied to the VirtualHardDisksUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateViaJsonString(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualHardDisksUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a virtual hard disk. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// Json string supplied to the VirtualHardDisksUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a virtual hard disk. + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// The virtual hard disk resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" + + global::System.Uri.EscapeDataString(virtualHardDiskName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualHardDisksUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID of the target subscription. + /// The name of the resource group. The name is case insensitive. + /// Name of the virtual hard disk + /// The virtual hard disk resource patch definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualHardDisksUpdate_Validate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); + await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); + await eventListener.AssertNotNull(nameof(virtualHardDiskName),virtualHardDiskName); + await eventListener.AssertMinimumLength(nameof(virtualHardDiskName),virtualHardDiskName,1); + await eventListener.AssertMaximumLength(nameof(virtualHardDiskName),virtualHardDiskName,80); + await eventListener.AssertRegEx(nameof(virtualHardDiskName), virtualHardDiskName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$"); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// The virtual machine instance resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// + /// The virtual machine instance resource definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// + /// The virtual machine instance resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Json string supplied to the VirtualMachineInstancesCreateOrUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateViaJsonString(string resourceUri, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Json string supplied to the VirtualMachineInstancesCreateOrUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateViaJsonStringWithResult(string resourceUri, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// The virtual machine instance resource definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesCreateOrUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but + /// you will get validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// The virtual machine instance resource definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdate_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// The operation to delete a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesDelete(string resourceUri, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// The operation to delete a virtual machine instance. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesDelete_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// Gets a virtual machine instance + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesGet(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a virtual machine instance + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesGet_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// Gets a virtual machine instance + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesGetWithResult_Call (request, eventListener,sender); + } + } + + /// Gets a virtual machine instance + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesGetWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesGetWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesGet_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// + /// Lists all of the virtual machine instances within the specified parent resource. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesList(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the virtual machine instances within the specified parent resource. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesList_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists all of the virtual machine instances within the specified parent resource. + /// + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Lists all of the virtual machine instances within the specified parent resource. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesListWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesListWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesList_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// The operation to restart a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesRestart(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesRestart_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to restart a virtual machine instance. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesRestartViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesRestart_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to restart a virtual machine instance. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesRestartViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesRestartWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to restart a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesRestartWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesRestartWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesRestartWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesRestart_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesRestart_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// The operation to start a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesStart(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesStart_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to start a virtual machine instance. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesStartViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesStart_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to start a virtual machine instance. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesStartViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesStartWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to start a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesStartWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesStartWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStartWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStart_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStart_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// The operation to stop a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesStop(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesStop_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to stop a virtual machine instance. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesStopViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesStop_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to stop a virtual machine instance. + /// + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesStopViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesStopWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to stop a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesStopWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesStopWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStopWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStop_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStop_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + } + } + + /// The operation to update a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// The virtual machine instance resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a virtual machine instance. + /// + /// The virtual machine instance resource patch definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a virtual machine instance. + /// + /// The virtual machine instance resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); + } + + // replace URI parameters with values from identity + var resourceUri = _match.Groups["resourceUri"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + resourceUri + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Json string supplied to the VirtualMachineInstancesUpdate operation + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateViaJsonString(string resourceUri, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.VirtualMachineInstancesUpdate_Call (request, onOk,onDefault,eventListener,sender); + } + } + + /// The operation to update a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// Json string supplied to the VirtualMachineInstancesUpdate operation + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateViaJsonStringWithResult(string resourceUri, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// The operation to update a virtual machine instance. + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// The virtual machine instance resource patch definition. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) + { + var apiVersion = @"2024-01-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/" + + (resourceUri) + + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } + // make the call + return await this.VirtualMachineInstancesUpdateWithResult_Call (request, eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + return await _result; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } + var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); + // Error Response : default + var code = (await _result)?.Code; + var message = (await _result)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); + throw ex; + } + else + { + throw new global::System.Exception($"[{code}] : {message}"); + } + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + // delay before making the next polling request + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource + /// to be extended. + /// The virtual machine instance resource patch definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdate_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_Get.cs new file mode 100644 index 000000000000..72f2fc77eaf7 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_Get.cs @@ -0,0 +1,476 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Gets a gallery image + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGalleryImage_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a gallery image")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMGalleryImage_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMGalleryImage_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List.cs new file mode 100644 index 000000000000..f727d7267aa7 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List.cs @@ -0,0 +1,491 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the + /// next page of gallery images. + /// + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGalleryImage_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the next page of gallery images.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMGalleryImage_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMGalleryImage_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List1.cs new file mode 100644 index 000000000000..128be6981575 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List1.cs @@ -0,0 +1,477 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next + /// page of gallery images. + /// + /// + /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGalleryImage_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next page of gallery images.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMGalleryImage_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMGalleryImage_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesListAll(SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_Get.cs new file mode 100644 index 000000000000..38cce22bc7a8 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_Get.cs @@ -0,0 +1,441 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Implements GuestAgent GET method. + /// + /// [OpenAPI] Get=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGuestAgent_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Implements GuestAgent GET method.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMGuestAgent_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMGuestAgent_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GuestAgentGet(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_List.cs new file mode 100644 index 000000000000..fa3f46ec8557 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_List.cs @@ -0,0 +1,468 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Returns the list of GuestAgent of the given vm. + /// + /// [OpenAPI] List=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGuestAgent_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Returns the list of GuestAgent of the given vm.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMGuestAgent_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgentList + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMGuestAgent_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GuestAgentsList(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgentList + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgentList + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GuestAgentsList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_Get.cs new file mode 100644 index 000000000000..5a3e72814294 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_Get.cs @@ -0,0 +1,441 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Implements HybridIdentityMetadata GET method. + /// + /// [OpenAPI] Get=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMHybridIdentityMetadata_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Implements HybridIdentityMetadata GET method.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMHybridIdentityMetadata_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMHybridIdentityMetadata_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.HybridIdentityMetadataGet(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_List.cs new file mode 100644 index 000000000000..84ec4dbf221d --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_List.cs @@ -0,0 +1,468 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Returns the list of HybridIdentityMetadata of the given vm. + /// + /// [OpenAPI] List=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMHybridIdentityMetadata_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Returns the list of HybridIdentityMetadata of the given vm.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMHybridIdentityMetadata_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataList + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMHybridIdentityMetadata_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.HybridIdentityMetadataList(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataList + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataList + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.HybridIdentityMetadataList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_Get.cs new file mode 100644 index 000000000000..c0c570e5766c --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_Get.cs @@ -0,0 +1,475 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Gets a logical network + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMLogicalNetwork_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a logical network")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMLogicalNetwork_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMLogicalNetwork_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List.cs new file mode 100644 index 000000000000..ec8108ea7a9d --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List.cs @@ -0,0 +1,490 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMLogicalNetwork_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the next page of logical networks.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMLogicalNetwork_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMLogicalNetwork_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List1.cs new file mode 100644 index 000000000000..366c1cb4f381 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List1.cs @@ -0,0 +1,476 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the + /// next page of logical networks. + /// + /// + /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMLogicalNetwork_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the next page of logical networks.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMLogicalNetwork_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMLogicalNetwork_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksListAll(SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_Get.cs new file mode 100644 index 000000000000..2a9c58ee5f17 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_Get.cs @@ -0,0 +1,476 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Gets a marketplace gallery image + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMMarketplaceGalleryImage_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a marketplace gallery image")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMMarketplaceGalleryImage_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMMarketplaceGalleryImage_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List.cs new file mode 100644 index 000000000000..07efdf9bb1e6 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List.cs @@ -0,0 +1,491 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response + /// to get the next page of marketplace gallery images. + /// + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMMarketplaceGalleryImage_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response to get the next page of marketplace gallery images.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMMarketplaceGalleryImage_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMMarketplaceGalleryImage_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List1.cs new file mode 100644 index 000000000000..ac0fa4a9ea60 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List1.cs @@ -0,0 +1,477 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to + /// get the next page of marketplace gallery images. + /// + /// + /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMMarketplaceGalleryImage_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to get the next page of marketplace gallery images.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMMarketplaceGalleryImage_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMMarketplaceGalleryImage_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesListAll(SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_Get.cs new file mode 100644 index 000000000000..4e5f8af694ef --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_Get.cs @@ -0,0 +1,475 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Gets a network interface + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMNetworkInterface_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a network interface")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMNetworkInterface_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMNetworkInterface_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List.cs new file mode 100644 index 000000000000..9f7b7ecc70cc --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List.cs @@ -0,0 +1,490 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get + /// the next page of network interfaces. + /// + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMNetworkInterface_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get the next page of network interfaces.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMNetworkInterface_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMNetworkInterface_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List1.cs new file mode 100644 index 000000000000..2a469156635c --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List1.cs @@ -0,0 +1,476 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the + /// next page of network interfaces. + /// + /// + /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMNetworkInterface_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the next page of network interfaces.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMNetworkInterface_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMNetworkInterface_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesListAll(SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMOperation_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMOperation_List.cs new file mode 100644 index 000000000000..24ab58d4e2b8 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMOperation_List.cs @@ -0,0 +1,432 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Gets a list of hybrid compute operations. + /// + /// [OpenAPI] List=>GET:"/providers/Microsoft.HybridCompute/operations" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMOperation_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a list of hybrid compute operations.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/providers/Microsoft.HybridCompute/operations", ApiVersion = "2023-03-15-preview")] + public partial class GetAzStackHCIVMOperation_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMOperation_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.OperationsList(onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_Get.cs new file mode 100644 index 000000000000..296bf25421ef --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_Get.cs @@ -0,0 +1,475 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Gets a storage container + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMStoragePath_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a storage container")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMStoragePath_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMStoragePath_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List.cs new file mode 100644 index 000000000000..541a5e2505f9 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List.cs @@ -0,0 +1,490 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get + /// the next page of storage containers. + /// + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMStoragePath_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get the next page of storage containers.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMStoragePath_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMStoragePath_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List1.cs new file mode 100644 index 000000000000..ae9731050168 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List1.cs @@ -0,0 +1,476 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the + /// next page of storage containers. + /// + /// + /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMStoragePath_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the next page of storage containers.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMStoragePath_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMStoragePath_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersListAll(SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_Get.cs new file mode 100644 index 000000000000..dfa978a28f7f --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_Get.cs @@ -0,0 +1,475 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Gets a virtual hard disk + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualHardDisk_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a virtual hard disk")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMVirtualHardDisk_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMVirtualHardDisk_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List.cs new file mode 100644 index 000000000000..f06a347001a2 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List.cs @@ -0,0 +1,490 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get + /// the next page of virtual hard disks. + /// + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualHardDisk_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get the next page of virtual hard disks.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMVirtualHardDisk_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMVirtualHardDisk_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List1.cs new file mode 100644 index 000000000000..b665f63371ca --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List1.cs @@ -0,0 +1,476 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the + /// next page of virtual hard disks. + /// + /// + /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualHardDisk_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the next page of virtual hard disks.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMVirtualHardDisk_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMVirtualHardDisk_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksListAll(SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_Get.cs new file mode 100644 index 000000000000..1b8b2d782372 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_Get.cs @@ -0,0 +1,441 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Gets a virtual machine instance + /// + /// [OpenAPI] Get=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualMachine_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMVirtualMachine_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMVirtualMachine_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesGet(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_List.cs new file mode 100644 index 000000000000..456f2bf5a4ca --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_List.cs @@ -0,0 +1,470 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// Lists all of the virtual machine instances within the specified parent resource. + /// + /// + /// [OpenAPI] List=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualMachine_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the virtual machine instances within the specified parent resource.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances", ApiVersion = "2024-01-01")] + public partial class GetAzStackHCIVMVirtualMachine_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public GetAzStackHCIVMVirtualMachine_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesList(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceListResult + var result = (await response); + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + if (null != result.Value) + { + if (0 == _responseSize && 1 == result.Value.Count) + { + _firstResponse = result.Value[0]; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + var values = new System.Collections.Generic.List(); + foreach( var value in result.Value ) + { + values.Add(value.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(values, true); + _responseSize = 2; + } + } + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (!String.IsNullOrEmpty(_nextLink)) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath.cs new file mode 100644 index 000000000000..ba14f06c95a7 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGalleryImage_CreateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Create operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath Clone() + { + var clone = new NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonString.cs new file mode 100644 index 000000000000..47786da38ebe --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGalleryImage_CreateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMGalleryImage_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Create operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMGalleryImage_CreateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGalleryImage_CreateViaJsonString Clone() + { + var clone = new NewAzStackHCIVMGalleryImage_CreateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMGalleryImage_CreateViaJsonString() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath.cs new file mode 100644 index 000000000000..66d7fb900899 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath.cs @@ -0,0 +1,541 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Create GuestAgent. + /// + /// [OpenAPI] Create=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGuestAgent_CreateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Create GuestAgent.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Create operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath Clone() + { + var clone = new NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GuestAgentCreate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GuestAgentCreateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonString.cs new file mode 100644 index 000000000000..ab56ca51414e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonString.cs @@ -0,0 +1,539 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Create GuestAgent. + /// + /// [OpenAPI] Create=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGuestAgent_CreateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Create GuestAgent.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMGuestAgent_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Create operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMGuestAgent_CreateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGuestAgent_CreateViaJsonString Clone() + { + var clone = new NewAzStackHCIVMGuestAgent_CreateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMGuestAgent_CreateViaJsonString() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GuestAgentCreate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GuestAgentCreateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath.cs new file mode 100644 index 000000000000..7a54c58e75e2 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMLogicalNetwork_CreateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Create operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath Clone() + { + var clone = new NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonString.cs new file mode 100644 index 000000000000..3a9ec8698946 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMLogicalNetwork_CreateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMLogicalNetwork_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Create operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMLogicalNetwork_CreateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMLogicalNetwork_CreateViaJsonString Clone() + { + var clone = new NewAzStackHCIVMLogicalNetwork_CreateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMLogicalNetwork_CreateViaJsonString() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath.cs new file mode 100644 index 000000000000..8b106fcd1a1d --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath.cs @@ -0,0 +1,580 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Create operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath Clone() + { + var clone = new NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString.cs new file mode 100644 index 000000000000..5e147f5aabd6 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString.cs @@ -0,0 +1,578 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Create operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString Clone() + { + var clone = new NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath.cs new file mode 100644 index 000000000000..095eeada360e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMNetworkInterface_CreateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Create operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath Clone() + { + var clone = new NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonString.cs new file mode 100644 index 000000000000..a7bd587a6127 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMNetworkInterface_CreateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMNetworkInterface_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Create operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMNetworkInterface_CreateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMNetworkInterface_CreateViaJsonString Clone() + { + var clone = new NewAzStackHCIVMNetworkInterface_CreateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMNetworkInterface_CreateViaJsonString() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonFilePath.cs new file mode 100644 index 000000000000..ed09de3d2e54 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMStoragePath_CreateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMStoragePath_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Create operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMStoragePath_CreateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMStoragePath_CreateViaJsonFilePath Clone() + { + var clone = new NewAzStackHCIVMStoragePath_CreateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMStoragePath_CreateViaJsonFilePath() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonString.cs new file mode 100644 index 000000000000..9d0578636e65 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMStoragePath_CreateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMStoragePath_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Create operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMStoragePath_CreateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMStoragePath_CreateViaJsonString Clone() + { + var clone = new NewAzStackHCIVMStoragePath_CreateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMStoragePath_CreateViaJsonString() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath.cs new file mode 100644 index 000000000000..12b1daa33328 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Create operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath Clone() + { + var clone = new NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString.cs new file mode 100644 index 000000000000..86c1f625ffc3 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualHardDisk_CreateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Create operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString Clone() + { + var clone = new NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath.cs new file mode 100644 index 000000000000..d35af64052ce --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath.cs @@ -0,0 +1,544 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualMachine_CreateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Create operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath Clone() + { + var clone = new NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesCreateOrUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonString.cs new file mode 100644 index 000000000000..0ff3a6c6c09a --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonString.cs @@ -0,0 +1,542 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualMachine_CreateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class NewAzStackHCIVMVirtualMachine_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Create operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Create operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMVirtualMachine_CreateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualMachine_CreateViaJsonString Clone() + { + var clone = new NewAzStackHCIVMVirtualMachine_CreateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMVirtualMachine_CreateViaJsonString() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesCreateOrUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGalleryImage_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGalleryImage_CreateExpanded.cs new file mode 100644 index 000000000000..f6925fddcc48 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGalleryImage_CreateExpanded.cs @@ -0,0 +1,724 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGalleryImage_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + public partial class NewAzStackHCIVMGalleryImage_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The gallery images resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages _galleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]", + SerializedName = @"cloudInitDataSource", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] + public string CloudInitDataSource { get => _galleryImagesBody.CloudInitDataSource ?? null; set => _galleryImagesBody.CloudInitDataSource = value; } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string CustomLocationId { get => _galleryImagesBody.ExtendedLocationName ?? null; set => _galleryImagesBody.ExtendedLocationName = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"""CustomLocation""", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _galleryImagesBody.ExtendedLocationType ?? null; set => _galleryImagesBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The hypervisor generation of the Virtual Machine [V1, V2] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", + SerializedName = @"hyperVGeneration", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + public string HyperVGeneration { get => _galleryImagesBody.HyperVGeneration ?? null; set => _galleryImagesBody.HyperVGeneration = value; } + + /// location of the image the gallery image should be created from + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "location of the image the gallery image should be created from")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"location of the image the gallery image should be created from", + SerializedName = @"imagePath", + PossibleTypes = new [] { typeof(string) })] + public string ImagePath { get => _galleryImagesBody.ImagePath ?? null; set => _galleryImagesBody.ImagePath = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _galleryImagesBody.Location ?? null; set => _galleryImagesBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Operating system type that the gallery image uses [Windows, Linux] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Operating system type that the gallery image uses [Windows, Linux]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Operating system type that the gallery image uses [Windows, Linux]", + SerializedName = @"osType", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + public string OSType { get => _galleryImagesBody.OSType ?? null; set => _galleryImagesBody.OSType = value; } + + /// The name of the gallery image definition offer. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition offer.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition offer.", + SerializedName = @"offer", + PossibleTypes = new [] { typeof(string) })] + public string Offer { get => _galleryImagesBody.IdentifierOffer ?? null; set => _galleryImagesBody.IdentifierOffer = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// The name of the gallery image definition publisher. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition publisher.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition publisher.", + SerializedName = @"publisher", + PossibleTypes = new [] { typeof(string) })] + public string Publisher { get => _galleryImagesBody.IdentifierPublisher ?? null; set => _galleryImagesBody.IdentifierPublisher = value; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// The name of the gallery image definition SKU. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition SKU.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition SKU.", + SerializedName = @"sku", + PossibleTypes = new [] { typeof(string) })] + public string Sku { get => _galleryImagesBody.IdentifierSku ?? null; set => _galleryImagesBody.IdentifierSku = value; } + + /// Storage ContainerID of the storage container to be used for gallery image + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for gallery image")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Storage ContainerID of the storage container to be used for gallery image", + SerializedName = @"containerId", + PossibleTypes = new [] { typeof(string) })] + public string StoragePathId { get => _galleryImagesBody.ContainerId ?? null; set => _galleryImagesBody.ContainerId = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _galleryImagesBody.Tag ?? null /* object */; set => _galleryImagesBody.Tag = value; } + + /// This is the version of the gallery image. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This is the version of the gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"This is the version of the gallery image.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string Version { get => _galleryImagesBody.VersionName ?? null; set => _galleryImagesBody.VersionName = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMGalleryImage_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGalleryImage_CreateExpanded Clone() + { + var clone = new NewAzStackHCIVMGalleryImage_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._galleryImagesBody = this._galleryImagesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMGalleryImage_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) + { + ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; + } + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _galleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGuestAgent_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGuestAgent_CreateExpanded.cs new file mode 100644 index 000000000000..472e5dca05b9 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGuestAgent_CreateExpanded.cs @@ -0,0 +1,562 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Create GuestAgent. + /// + /// [OpenAPI] Create=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGuestAgent_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Create GuestAgent.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] + public partial class NewAzStackHCIVMGuestAgent_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// Defines the GuestAgent. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent _body = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent(); + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// The password to connect with the guest. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The password to connect with the guest.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The password to connect with the guest.", + SerializedName = @"password", + PossibleTypes = new [] { typeof(string) })] + public string CredentialsPassword { get => _body.CredentialsPassword ?? null; set => _body.CredentialsPassword = value; } + + /// The username to connect with the guest. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The username to connect with the guest.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The username to connect with the guest.", + SerializedName = @"username", + PossibleTypes = new [] { typeof(string) })] + public string CredentialsUsername { get => _body.CredentialsUsername ?? null; set => _body.CredentialsUsername = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The guest agent provisioning action. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The guest agent provisioning action.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The guest agent provisioning action.", + SerializedName = @"provisioningAction", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("install", "uninstall", "repair")] + public string ProvisioningAction { get => _body.ProvisioningAction ?? null; set => _body.ProvisioningAction = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMGuestAgent_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGuestAgent_CreateExpanded Clone() + { + var clone = new NewAzStackHCIVMGuestAgent_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._body = this._body; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMGuestAgent_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GuestAgentCreate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GuestAgentCreate(ResourceUri, _body, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMLogicalNetwork_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMLogicalNetwork_CreateExpanded.cs new file mode 100644 index 000000000000..9d3c09f9d9fd --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMLogicalNetwork_CreateExpanded.cs @@ -0,0 +1,655 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMLogicalNetwork_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + public partial class NewAzStackHCIVMLogicalNetwork_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The logical network resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks _logicalNetworksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string CustomLocationId { get => _logicalNetworksBody.ExtendedLocationName ?? null; set => _logicalNetworksBody.ExtendedLocationName = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The list of DNS servers IP addresses. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of DNS servers IP addresses.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of DNS servers IP addresses.", + SerializedName = @"dnsServers", + PossibleTypes = new [] { typeof(string) })] + public string[] DnsServer { get => _logicalNetworksBody.DhcpOptionDnsServer?.ToArray() ?? null /* fixedArrayOf */; set => _logicalNetworksBody.DhcpOptionDnsServer = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"""CustomLocation""", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _logicalNetworksBody.ExtendedLocationType ?? null; set => _logicalNetworksBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _logicalNetworksBody.Location ?? null; set => _logicalNetworksBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Subnet - list of subnets under the logical network + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Subnet - list of subnets under the logical network")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Subnet - list of subnets under the logical network", + SerializedName = @"subnets", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet[] Subnet { get => _logicalNetworksBody.Subnet?.ToArray() ?? null /* fixedArrayOf */; set => _logicalNetworksBody.Subnet = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _logicalNetworksBody.Tag ?? null /* object */; set => _logicalNetworksBody.Tag = value; } + + /// name of the network switch to be used for VMs + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "name of the network switch to be used for VMs")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"name of the network switch to be used for VMs", + SerializedName = @"vmSwitchName", + PossibleTypes = new [] { typeof(string) })] + public string VMSwitchName { get => _logicalNetworksBody.VMSwitchName ?? null; set => _logicalNetworksBody.VMSwitchName = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMLogicalNetwork_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMLogicalNetwork_CreateExpanded Clone() + { + var clone = new NewAzStackHCIVMLogicalNetwork_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._logicalNetworksBody = this._logicalNetworksBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMLogicalNetwork_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) + { + ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; + } + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _logicalNetworksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMMarketplaceGalleryImage_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMMarketplaceGalleryImage_CreateExpanded.cs new file mode 100644 index 000000000000..21ff43fb949e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMMarketplaceGalleryImage_CreateExpanded.cs @@ -0,0 +1,716 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMMarketplaceGalleryImage_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + public partial class NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The marketplace gallery image resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages _marketplaceGalleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]", + SerializedName = @"cloudInitDataSource", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] + public string CloudInitDataSource { get => _marketplaceGalleryImagesBody.CloudInitDataSource ?? null; set => _marketplaceGalleryImagesBody.CloudInitDataSource = value; } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string CustomLocationId { get => _marketplaceGalleryImagesBody.ExtendedLocationName ?? null; set => _marketplaceGalleryImagesBody.ExtendedLocationName = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"""CustomLocation""", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _marketplaceGalleryImagesBody.ExtendedLocationType ?? null; set => _marketplaceGalleryImagesBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The hypervisor generation of the Virtual Machine [V1, V2] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", + SerializedName = @"hyperVGeneration", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + public string HyperVGeneration { get => _marketplaceGalleryImagesBody.HyperVGeneration ?? null; set => _marketplaceGalleryImagesBody.HyperVGeneration = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _marketplaceGalleryImagesBody.Location ?? null; set => _marketplaceGalleryImagesBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Operating system type that the gallery image uses [Windows, Linux] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Operating system type that the gallery image uses [Windows, Linux]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Operating system type that the gallery image uses [Windows, Linux]", + SerializedName = @"osType", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + public string OSType { get => _marketplaceGalleryImagesBody.OSType ?? null; set => _marketplaceGalleryImagesBody.OSType = value; } + + /// The name of the gallery image definition offer. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition offer.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition offer.", + SerializedName = @"offer", + PossibleTypes = new [] { typeof(string) })] + public string Offer { get => _marketplaceGalleryImagesBody.IdentifierOffer ?? null; set => _marketplaceGalleryImagesBody.IdentifierOffer = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// The name of the gallery image definition publisher. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition publisher.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition publisher.", + SerializedName = @"publisher", + PossibleTypes = new [] { typeof(string) })] + public string Publisher { get => _marketplaceGalleryImagesBody.IdentifierPublisher ?? null; set => _marketplaceGalleryImagesBody.IdentifierPublisher = value; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// The name of the gallery image definition SKU. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition SKU.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition SKU.", + SerializedName = @"sku", + PossibleTypes = new [] { typeof(string) })] + public string Sku { get => _marketplaceGalleryImagesBody.IdentifierSku ?? null; set => _marketplaceGalleryImagesBody.IdentifierSku = value; } + + /// + /// Storage ContainerID of the storage container to be used for marketplace gallery image + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for marketplace gallery image")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Storage ContainerID of the storage container to be used for marketplace gallery image", + SerializedName = @"containerId", + PossibleTypes = new [] { typeof(string) })] + public string StoragePathId { get => _marketplaceGalleryImagesBody.ContainerId ?? null; set => _marketplaceGalleryImagesBody.ContainerId = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _marketplaceGalleryImagesBody.Tag ?? null /* object */; set => _marketplaceGalleryImagesBody.Tag = value; } + + /// This is the version of the gallery image. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This is the version of the gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"This is the version of the gallery image.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string Version { get => _marketplaceGalleryImagesBody.VersionName ?? null; set => _marketplaceGalleryImagesBody.VersionName = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded Clone() + { + var clone = new NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._marketplaceGalleryImagesBody = this._marketplaceGalleryImagesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) + { + ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; + } + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMNetworkInterface_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMNetworkInterface_CreateExpanded.cs new file mode 100644 index 000000000000..1a8763ec6eb8 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMNetworkInterface_CreateExpanded.cs @@ -0,0 +1,655 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMNetworkInterface_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + public partial class NewAzStackHCIVMNetworkInterface_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The network interface resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces _networkInterfacesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string CustomLocationId { get => _networkInterfacesBody.ExtendedLocationName ?? null; set => _networkInterfacesBody.ExtendedLocationName = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// List of DNS server IP Addresses for the interface + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "List of DNS server IP Addresses for the interface")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"List of DNS server IP Addresses for the interface", + SerializedName = @"dnsServers", + PossibleTypes = new [] { typeof(string) })] + public string[] DnsServer { get => _networkInterfacesBody.DnsSettingDnsServer?.ToArray() ?? null /* fixedArrayOf */; set => _networkInterfacesBody.DnsSettingDnsServer = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"""CustomLocation""", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _networkInterfacesBody.ExtendedLocationType ?? null; set => _networkInterfacesBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// IPConfigurations - A list of IPConfigurations of the network interface. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "IPConfigurations - A list of IPConfigurations of the network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"IPConfigurations - A list of IPConfigurations of the network interface.", + SerializedName = @"ipConfigurations", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration[] IPConfiguration { get => _networkInterfacesBody.IPConfiguration?.ToArray() ?? null /* fixedArrayOf */; set => _networkInterfacesBody.IPConfiguration = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _networkInterfacesBody.Location ?? null; set => _networkInterfacesBody.Location = value; } + + /// MacAddress - The MAC address of the network interface. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "MacAddress - The MAC address of the network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"MacAddress - The MAC address of the network interface.", + SerializedName = @"macAddress", + PossibleTypes = new [] { typeof(string) })] + public string MacAddress { get => _networkInterfacesBody.MacAddress ?? null; set => _networkInterfacesBody.MacAddress = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _networkInterfacesBody.Tag ?? null /* object */; set => _networkInterfacesBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMNetworkInterface_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMNetworkInterface_CreateExpanded Clone() + { + var clone = new NewAzStackHCIVMNetworkInterface_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._networkInterfacesBody = this._networkInterfacesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMNetworkInterface_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) + { + ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; + } + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _networkInterfacesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMStoragePath_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMStoragePath_CreateExpanded.cs new file mode 100644 index 000000000000..e18878bcb7f8 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMStoragePath_CreateExpanded.cs @@ -0,0 +1,631 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMStoragePath_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + public partial class NewAzStackHCIVMStoragePath_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The storage container resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers _storageContainersBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string CustomLocationId { get => _storageContainersBody.ExtendedLocationName ?? null; set => _storageContainersBody.ExtendedLocationName = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"""CustomLocation""", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _storageContainersBody.ExtendedLocationType ?? null; set => _storageContainersBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _storageContainersBody.Location ?? null; set => _storageContainersBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Path of the storage container on the disk + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Path of the storage container on the disk")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Path of the storage container on the disk", + SerializedName = @"path", + PossibleTypes = new [] { typeof(string) })] + public string Path { get => _storageContainersBody.Path ?? null; set => _storageContainersBody.Path = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _storageContainersBody.Tag ?? null /* object */; set => _storageContainersBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMStoragePath_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMStoragePath_CreateExpanded Clone() + { + var clone = new NewAzStackHCIVMStoragePath_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._storageContainersBody = this._storageContainersBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMStoragePath_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) + { + ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; + } + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _storageContainersBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualHardDisk_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualHardDisk_CreateExpanded.cs new file mode 100644 index 000000000000..18386540dff4 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualHardDisk_CreateExpanded.cs @@ -0,0 +1,710 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualHardDisk_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + public partial class NewAzStackHCIVMVirtualHardDisk_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The virtual hard disk resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks _virtualHardDisksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"blockSizeBytes", + PossibleTypes = new [] { typeof(int) })] + public int BlockSizeByte { get => _virtualHardDisksBody.BlockSizeByte ?? default(int); set => _virtualHardDisksBody.BlockSizeByte = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string CustomLocationId { get => _virtualHardDisksBody.ExtendedLocationName ?? null; set => _virtualHardDisksBody.ExtendedLocationName = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The format of the actual VHD file [vhd, vhdx] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The format of the actual VHD file [vhd, vhdx]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The format of the actual VHD file [vhd, vhdx]", + SerializedName = @"diskFileFormat", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("vhdx", "vhd")] + public string DiskFileFormat { get => _virtualHardDisksBody.DiskFileFormat ?? null; set => _virtualHardDisksBody.DiskFileFormat = value; } + + /// Boolean for enabling dynamic sizing on the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Boolean for enabling dynamic sizing on the virtual hard disk")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Boolean for enabling dynamic sizing on the virtual hard disk", + SerializedName = @"dynamic", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter Dynamic { get => _virtualHardDisksBody.Dynamic ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualHardDisksBody.Dynamic = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"""CustomLocation""", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _virtualHardDisksBody.ExtendedLocationType ?? null; set => _virtualHardDisksBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The hypervisor generation of the Virtual Machine [V1, V2] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", + SerializedName = @"hyperVGeneration", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + public string HyperVGeneration { get => _virtualHardDisksBody.HyperVGeneration ?? null; set => _virtualHardDisksBody.HyperVGeneration = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _virtualHardDisksBody.Location ?? null; set => _virtualHardDisksBody.Location = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"logicalSectorBytes", + PossibleTypes = new [] { typeof(int) })] + public int LogicalSectorByte { get => _virtualHardDisksBody.LogicalSectorByte ?? default(int); set => _virtualHardDisksBody.LogicalSectorByte = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"physicalSectorBytes", + PossibleTypes = new [] { typeof(int) })] + public int PhysicalSectorByte { get => _virtualHardDisksBody.PhysicalSectorByte ?? default(int); set => _virtualHardDisksBody.PhysicalSectorByte = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Size of the disk in GB + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Size of the disk in GB")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Size of the disk in GB", + SerializedName = @"diskSizeGB", + PossibleTypes = new [] { typeof(long) })] + public long SizeGb { get => _virtualHardDisksBody.DiskSizeGb ?? default(long); set => _virtualHardDisksBody.DiskSizeGb = value; } + + /// Storage ContainerID of the storage container to be used for VHD + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for VHD")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Storage ContainerID of the storage container to be used for VHD", + SerializedName = @"containerId", + PossibleTypes = new [] { typeof(string) })] + public string StoragePathId { get => _virtualHardDisksBody.ContainerId ?? null; set => _virtualHardDisksBody.ContainerId = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _virtualHardDisksBody.Tag ?? null /* object */; set => _virtualHardDisksBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMVirtualHardDisk_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualHardDisk_CreateExpanded Clone() + { + var clone = new NewAzStackHCIVMVirtualHardDisk_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._virtualHardDisksBody = this._virtualHardDisksBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMVirtualHardDisk_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) + { + ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; + } + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _virtualHardDisksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualMachine_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualMachine_CreateExpanded.cs new file mode 100644 index 000000000000..63ee3912c80f --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualMachine_CreateExpanded.cs @@ -0,0 +1,962 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualMachine_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + public partial class NewAzStackHCIVMVirtualMachine_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The virtual machine instance resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance _virtualMachineInstanceBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance(); + + /// AdminPassword - admin password + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "AdminPassword - admin password")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"AdminPassword - admin password", + SerializedName = @"adminPassword", + PossibleTypes = new [] { typeof(string) })] + public string AdminPassword { get => _virtualMachineInstanceBody.OSProfileAdminPassword ?? null; set => _virtualMachineInstanceBody.OSProfileAdminPassword = value; } + + /// AdminUsername - admin username + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "AdminUsername - admin username")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"AdminUsername - admin username", + SerializedName = @"adminUsername", + PossibleTypes = new [] { typeof(string) })] + public string AdminUsername { get => _virtualMachineInstanceBody.OSProfileAdminUsername ?? null; set => _virtualMachineInstanceBody.OSProfileAdminUsername = value; } + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// ComputerName - name of the compute + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "ComputerName - name of the compute")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"ComputerName - name of the compute", + SerializedName = @"computerName", + PossibleTypes = new [] { typeof(string) })] + public string ComputerName { get => _virtualMachineInstanceBody.OSProfileComputerName ?? null; set => _virtualMachineInstanceBody.OSProfileComputerName = value; } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string CustomLocationId { get => _virtualMachineInstanceBody.ExtendedLocationName ?? null; set => _virtualMachineInstanceBody.ExtendedLocationName = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// + /// DisablePasswordAuthentication - whether password authentication should be disabled + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "DisablePasswordAuthentication - whether password authentication should be disabled")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"DisablePasswordAuthentication - whether password authentication should be disabled", + SerializedName = @"disablePasswordAuthentication", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter DisablePasswordAuthentication { get => _virtualMachineInstanceBody.LinuxConfigurationDisablePasswordAuthentication ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationDisablePasswordAuthentication = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"maximumMemoryMB", + PossibleTypes = new [] { typeof(long) })] + public long DynamicMemoryMaximumMemoryInMb { get => _virtualMachineInstanceBody.DynamicMemoryConfigMaximumMemoryMb ?? default(long); set => _virtualMachineInstanceBody.DynamicMemoryConfigMaximumMemoryMb = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"minimumMemoryMB", + PossibleTypes = new [] { typeof(long) })] + public long DynamicMemoryMinimumMemoryInMb { get => _virtualMachineInstanceBody.DynamicMemoryConfigMinimumMemoryMb ?? default(long); set => _virtualMachineInstanceBody.DynamicMemoryConfigMinimumMemoryMb = value; } + + /// + /// Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage + /// of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic + /// memory enabled. This property can be in the range of 5 to 2000. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.", + SerializedName = @"targetMemoryBuffer", + PossibleTypes = new [] { typeof(int) })] + public int DynamicMemoryTargetBuffer { get => _virtualMachineInstanceBody.DynamicMemoryConfigTargetMemoryBuffer ?? default(int); set => _virtualMachineInstanceBody.DynamicMemoryConfigTargetMemoryBuffer = value; } + + /// Whether to EnableAutomaticUpdates on the machine + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Whether to EnableAutomaticUpdates on the machine")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether to EnableAutomaticUpdates on the machine", + SerializedName = @"enableAutomaticUpdates", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter EnableAutomaticUpdate { get => _virtualMachineInstanceBody.WindowConfigurationEnableAutomaticUpdate ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationEnableAutomaticUpdate = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"enableTPM", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter EnableTpm { get => _virtualMachineInstanceBody.SecurityProfileEnableTpm ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.SecurityProfileEnableTpm = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"""CustomLocation""", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _virtualMachineInstanceBody.ExtendedLocationType ?? null; set => _virtualMachineInstanceBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The HTTP proxy server endpoint to use. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The HTTP proxy server endpoint to use.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The HTTP proxy server endpoint to use.", + SerializedName = @"httpProxy", + PossibleTypes = new [] { typeof(string) })] + public string HttpProxyConfigHttpProxy { get => _virtualMachineInstanceBody.HttpProxyConfigHttpProxy ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigHttpProxy = value; } + + /// The HTTPS proxy server endpoint to use. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The HTTPS proxy server endpoint to use.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The HTTPS proxy server endpoint to use.", + SerializedName = @"httpsProxy", + PossibleTypes = new [] { typeof(string) })] + public string HttpProxyConfigHttpsProxy { get => _virtualMachineInstanceBody.HttpProxyConfigHttpsProxy ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigHttpsProxy = value; } + + /// The endpoints that should not go through proxy. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The endpoints that should not go through proxy.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The endpoints that should not go through proxy.", + SerializedName = @"noProxy", + PossibleTypes = new [] { typeof(string) })] + public string[] HttpProxyConfigNoProxy { get => _virtualMachineInstanceBody.HttpProxyConfigNoProxy?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.HttpProxyConfigNoProxy = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// Alternative CA cert to use for connecting to proxy servers. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Alternative CA cert to use for connecting to proxy servers.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Alternative CA cert to use for connecting to proxy servers.", + SerializedName = @"trustedCa", + PossibleTypes = new [] { typeof(string) })] + public string HttpProxyConfigTrustedCa { get => _virtualMachineInstanceBody.HttpProxyConfigTrustedCa ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigTrustedCa = value; } + + /// The identity type. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The identity type.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The identity type.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + public string IdentityType { get => _virtualMachineInstanceBody.IdentityType ?? null; set => _virtualMachineInstanceBody.IdentityType = value; } + + /// Resource ID of the image + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource ID of the image")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource ID of the image", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + public string ImageId { get => _virtualMachineInstanceBody.ImageReferenceId ?? null; set => _virtualMachineInstanceBody.ImageReferenceId = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation + /// process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", + SerializedName = @"provisionVMAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent = value; } + + /// + /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", + SerializedName = @"provisionVMConfigAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent = value; } + + /// The list of SSH public keys used to authenticate with linux based VMs. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of SSH public keys used to authenticate with linux based VMs.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of SSH public keys used to authenticate with linux based VMs.", + SerializedName = @"publicKeys", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[] LinuxConfigurationSshPublicKey { get => _virtualMachineInstanceBody.LinuxConfigurationSshPublicKey?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.LinuxConfigurationSshPublicKey = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + /// + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance", + SerializedName = @"networkInterfaces", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem[] NetworkProfileNetworkInterface { get => _virtualMachineInstanceBody.NetworkProfileNetworkInterface?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.NetworkProfileNetworkInterface = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Resource ID of the OS disk + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource ID of the OS disk")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource ID of the OS disk", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + public string OSDiskId { get => _virtualMachineInstanceBody.OSDiskId ?? null; set => _virtualMachineInstanceBody.OSDiskId = value; } + + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or + /// a specialized VHD. Possible values are: **Windows,** **Linux.** + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**", + SerializedName = @"osType", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + public string OSDiskOstype { get => _virtualMachineInstanceBody.OSDiskOstype ?? null; set => _virtualMachineInstanceBody.OSDiskOstype = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Unique identifier defined by ARC to identify the guest of the VM. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Unique identifier defined by ARC to identify the guest of the VM.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Unique identifier defined by ARC to identify the guest of the VM.", + SerializedName = @"resourceUid", + PossibleTypes = new [] { typeof(string) })] + public string ResourceUid { get => _virtualMachineInstanceBody.ResourceUid ?? null; set => _virtualMachineInstanceBody.ResourceUid = value; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// Specifies whether secure boot should be enabled on the virtual machine instance. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies whether secure boot should be enabled on the virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether secure boot should be enabled on the virtual machine instance.", + SerializedName = @"secureBootEnabled", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter SecureBootEnabled { get => _virtualMachineInstanceBody.UefiSettingSecureBootEnabled ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.UefiSettingSecureBootEnabled = value; } + + /// + /// Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType + /// to function. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.", + SerializedName = @"securityType", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("TrustedLaunch", "ConfidentialVM")] + public string SecurityProfileSecurityType { get => _virtualMachineInstanceBody.SecurityProfileSecurityType ?? null; set => _virtualMachineInstanceBody.SecurityProfileSecurityType = value; } + + /// Id of the storage container that hosts the VM configuration file + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Id of the storage container that hosts the VM configuration file")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Id of the storage container that hosts the VM configuration file", + SerializedName = @"vmConfigStoragePathId", + PossibleTypes = new [] { typeof(string) })] + public string StoragePathId { get => _virtualMachineInstanceBody.StorageProfileVMConfigStoragePathId ?? null; set => _virtualMachineInstanceBody.StorageProfileVMConfigStoragePathId = value; } + + /// adds data disks to the virtual machine instance + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "adds data disks to the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"adds data disks to the virtual machine instance", + SerializedName = @"dataDisks", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem[] StorageProfileDataDisk { get => _virtualMachineInstanceBody.StorageProfileDataDisk?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.StorageProfileDataDisk = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// TimeZone for the virtual machine instance + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "TimeZone for the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"TimeZone for the virtual machine instance", + SerializedName = @"timeZone", + PossibleTypes = new [] { typeof(string) })] + public string TimeZone { get => _virtualMachineInstanceBody.WindowConfigurationTimeZone ?? null; set => _virtualMachineInstanceBody.WindowConfigurationTimeZone = value; } + + /// RAM in MB for the virtual machine instance + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "RAM in MB for the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"RAM in MB for the virtual machine instance", + SerializedName = @"memoryMB", + PossibleTypes = new [] { typeof(long) })] + public long VmMemory { get => _virtualMachineInstanceBody.HardwareProfileMemoryMb ?? default(long); set => _virtualMachineInstanceBody.HardwareProfileMemoryMb = value; } + + /// number of processors for the virtual machine instance + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "number of processors for the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"number of processors for the virtual machine instance", + SerializedName = @"processors", + PossibleTypes = new [] { typeof(int) })] + public int VmProcessor { get => _virtualMachineInstanceBody.HardwareProfileProcessor ?? default(int); set => _virtualMachineInstanceBody.HardwareProfileProcessor = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"vmSize", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] + public string VmSize { get => _virtualMachineInstanceBody.HardwareProfileVMSize ?? null; set => _virtualMachineInstanceBody.HardwareProfileVMSize = value; } + + /// + /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation + /// process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", + SerializedName = @"provisionVMAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent = value; } + + /// + /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", + SerializedName = @"provisionVMConfigAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent = value; } + + /// The list of SSH public keys used to authenticate with linux based VMs. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of SSH public keys used to authenticate with linux based VMs.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of SSH public keys used to authenticate with linux based VMs.", + SerializedName = @"publicKeys", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[] WindowsConfigurationSshPublicKey { get => _virtualMachineInstanceBody.WindowsConfigurationSshPublicKey?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.WindowsConfigurationSshPublicKey = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzStackHCIVMVirtualMachine_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualMachine_CreateExpanded Clone() + { + var clone = new NewAzStackHCIVMVirtualMachine_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._virtualMachineInstanceBody = this._virtualMachineInstanceBody; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public NewAzStackHCIVMVirtualMachine_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) + { + ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; + } + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesCreateOrUpdate(ResourceUri, _virtualMachineInstanceBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_Delete.cs new file mode 100644 index 000000000000..32f98cecf226 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_Delete.cs @@ -0,0 +1,579 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a gallery image. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMGalleryImage_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMGalleryImage_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMGalleryImage_Delete + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMGalleryImage_Delete Clone() + { + var clone = new RemoveAzStackHCIVMGalleryImage_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMGalleryImage_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_DeleteViaIdentity.cs new file mode 100644 index 000000000000..f4d0f50b513c --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_DeleteViaIdentity.cs @@ -0,0 +1,556 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a gallery image. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMGalleryImage_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity Clone() + { + var clone = new RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.GalleryImagesDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.GalleryImageName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.GalleryImageName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.GalleryImagesDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.GalleryImageName ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGuestAgent_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGuestAgent_Delete.cs new file mode 100644 index 000000000000..9eb6756a0d30 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGuestAgent_Delete.cs @@ -0,0 +1,511 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// Implements GuestAgent DELETE method. + /// + /// [OpenAPI] Delete=>DELETE:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMGuestAgent_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Implements GuestAgent DELETE method.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMGuestAgent_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMGuestAgent_Delete + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMGuestAgent_Delete Clone() + { + var clone = new RemoveAzStackHCIVMGuestAgent_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GuestAgentDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GuestAgentDelete(ResourceUri, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMGuestAgent_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_Delete.cs new file mode 100644 index 000000000000..fc91d9dd2b2c --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_Delete.cs @@ -0,0 +1,579 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a logical network. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMLogicalNetwork_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a logical network.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMLogicalNetwork_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMLogicalNetwork_Delete + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMLogicalNetwork_Delete Clone() + { + var clone = new RemoveAzStackHCIVMLogicalNetwork_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMLogicalNetwork_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_DeleteViaIdentity.cs new file mode 100644 index 000000000000..5faceac796d0 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_DeleteViaIdentity.cs @@ -0,0 +1,556 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a logical network. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMLogicalNetwork_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a logical network.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity Clone() + { + var clone = new RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.LogicalNetworksDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.LogicalNetworkName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.LogicalNetworkName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.LogicalNetworksDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.LogicalNetworkName ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_Delete.cs new file mode 100644 index 000000000000..d0d25ec3a31d --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_Delete.cs @@ -0,0 +1,579 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a marketplace gallery image. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMMarketplaceGalleryImage_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a marketplace gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMMarketplaceGalleryImage_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMMarketplaceGalleryImage_Delete + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMMarketplaceGalleryImage_Delete Clone() + { + var clone = new RemoveAzStackHCIVMMarketplaceGalleryImage_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMMarketplaceGalleryImage_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_DeleteViaIdentity.cs new file mode 100644 index 000000000000..0d7e6db1fc9b --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_DeleteViaIdentity.cs @@ -0,0 +1,558 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a marketplace gallery image. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a marketplace gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity Clone() + { + var clone = new RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.MarketplaceGalleryImagesDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.MarketplaceGalleryImageName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.MarketplaceGalleryImageName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.MarketplaceGalleryImagesDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.MarketplaceGalleryImageName ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_Delete.cs new file mode 100644 index 000000000000..99f0bc3e0c85 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_Delete.cs @@ -0,0 +1,579 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a network interface. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMNetworkInterface_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMNetworkInterface_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMNetworkInterface_Delete + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMNetworkInterface_Delete Clone() + { + var clone = new RemoveAzStackHCIVMNetworkInterface_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMNetworkInterface_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_DeleteViaIdentity.cs new file mode 100644 index 000000000000..9c69dc011c49 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_DeleteViaIdentity.cs @@ -0,0 +1,556 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a network interface. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMNetworkInterface_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity Clone() + { + var clone = new RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.NetworkInterfacesDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.NetworkInterfaceName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.NetworkInterfaceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.NetworkInterfacesDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.NetworkInterfaceName ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_Delete.cs new file mode 100644 index 000000000000..08eea5d97968 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_Delete.cs @@ -0,0 +1,579 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a storage container. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMStoragePath_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a storage container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMStoragePath_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMStoragePath_Delete + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMStoragePath_Delete Clone() + { + var clone = new RemoveAzStackHCIVMStoragePath_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMStoragePath_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_DeleteViaIdentity.cs new file mode 100644 index 000000000000..8f93feb7e5e3 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_DeleteViaIdentity.cs @@ -0,0 +1,556 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a storage container. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMStoragePath_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a storage container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMStoragePath_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMStoragePath_DeleteViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMStoragePath_DeleteViaIdentity Clone() + { + var clone = new RemoveAzStackHCIVMStoragePath_DeleteViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.StorageContainersDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.StorageContainerName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.StorageContainerName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.StorageContainersDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.StorageContainerName ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMStoragePath_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_Delete.cs new file mode 100644 index 000000000000..d4c5bd05bc71 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_Delete.cs @@ -0,0 +1,579 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a virtual hard disk. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMVirtualHardDisk_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a virtual hard disk.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMVirtualHardDisk_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMVirtualHardDisk_Delete + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMVirtualHardDisk_Delete Clone() + { + var clone = new RemoveAzStackHCIVMVirtualHardDisk_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMVirtualHardDisk_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_DeleteViaIdentity.cs new file mode 100644 index 000000000000..1da0b7db3ab5 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_DeleteViaIdentity.cs @@ -0,0 +1,556 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a virtual hard disk. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMVirtualHardDisk_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a virtual hard disk.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity Clone() + { + var clone = new RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.VirtualHardDisksDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.VirtualHardDiskName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.VirtualHardDiskName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.VirtualHardDisksDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.VirtualHardDiskName ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualMachine_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualMachine_Delete.cs new file mode 100644 index 000000000000..f25d6b21ce51 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualMachine_Delete.cs @@ -0,0 +1,545 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to delete a virtual machine instance. + /// + /// [OpenAPI] Delete=>DELETE:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMVirtualMachine_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + public partial class RemoveAzStackHCIVMVirtualMachine_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzStackHCIVMVirtualMachine_Delete + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMVirtualMachine_Delete Clone() + { + var clone = new RemoveAzStackHCIVMVirtualMachine_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesDelete(ResourceUri, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RemoveAzStackHCIVMVirtualMachine_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RestartAzStackHciVMVirtualMachine_Restart.cs b/azstackhci-powershell/generated/cmdlets/RestartAzStackHciVMVirtualMachine_Restart.cs new file mode 100644 index 000000000000..ab6504784c6b --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/RestartAzStackHciVMVirtualMachine_Restart.cs @@ -0,0 +1,524 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to restart a virtual machine instance. + /// + /// [OpenAPI] Restart=>POST:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Restart, @"AzStackHCIVMVirtualMachine_Restart", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to restart a virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart", ApiVersion = "2024-01-01")] + public partial class RestartAzStackHCIVMVirtualMachine_Restart : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RestartAzStackHCIVMVirtualMachine_Restart + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RestartAzStackHCIVMVirtualMachine_Restart Clone() + { + var clone = new RestartAzStackHCIVMVirtualMachine_Restart(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesRestart' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesRestart(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public RestartAzStackHCIVMVirtualMachine_Restart() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..921ed3dee544 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMGalleryImage_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath Clone() + { + var clone = new SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonString.cs new file mode 100644 index 000000000000..16a1caaf8e6f --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMGalleryImage_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMGalleryImage_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMGalleryImage_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMGalleryImage_UpdateViaJsonString Clone() + { + var clone = new SetAzStackHCIVMGalleryImage_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMGalleryImage_UpdateViaJsonString() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..818b882de579 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath Clone() + { + var clone = new SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs new file mode 100644 index 000000000000..371fd4f8b1a5 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMLogicalNetwork_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString Clone() + { + var clone = new SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..bcc73dd8e0fc --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs @@ -0,0 +1,580 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath Clone() + { + var clone = new SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs new file mode 100644 index 000000000000..5970ec72ce7e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs @@ -0,0 +1,578 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString Clone() + { + var clone = new SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..ab35955a84ff --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMNetworkInterface_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath Clone() + { + var clone = new SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs new file mode 100644 index 000000000000..598b2d49bdf3 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMNetworkInterface_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMNetworkInterface_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMNetworkInterface_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMNetworkInterface_UpdateViaJsonString Clone() + { + var clone = new SetAzStackHCIVMNetworkInterface_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMNetworkInterface_UpdateViaJsonString() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..1e920b6ed6e5 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMStorageContainer_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath Clone() + { + var clone = new SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonString.cs new file mode 100644 index 000000000000..9e5431c5a54e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMStorageContainer_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMStorageContainer_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMStorageContainer_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMStorageContainer_UpdateViaJsonString Clone() + { + var clone = new SetAzStackHCIVMStorageContainer_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMStorageContainer_UpdateViaJsonString() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..2c2902696385 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs @@ -0,0 +1,577 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath Clone() + { + var clone = new SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs new file mode 100644 index 000000000000..8c321b91cb95 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualHardDisk_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString Clone() + { + var clone = new SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..1ca801ee2fdf --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath.cs @@ -0,0 +1,546 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath Clone() + { + var clone = new SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesCreateOrUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString.cs new file mode 100644 index 000000000000..57a305515a7c --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString.cs @@ -0,0 +1,544 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualMachineInstance_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString Clone() + { + var clone = new SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesCreateOrUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMGalleryImage_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMGalleryImage_UpdateExpanded.cs new file mode 100644 index 000000000000..3fe21cf11ab8 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMGalleryImage_UpdateExpanded.cs @@ -0,0 +1,714 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMGalleryImage_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + public partial class SetAzStackHCIVMGalleryImage_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The gallery images resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages _galleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]", + SerializedName = @"cloudInitDataSource", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] + public string CloudInitDataSource { get => _galleryImagesBody.CloudInitDataSource ?? null; set => _galleryImagesBody.CloudInitDataSource = value; } + + /// Storage ContainerID of the storage container to be used for gallery image + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for gallery image")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Storage ContainerID of the storage container to be used for gallery image", + SerializedName = @"containerId", + PossibleTypes = new [] { typeof(string) })] + public string ContainerId { get => _galleryImagesBody.ContainerId ?? null; set => _galleryImagesBody.ContainerId = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string ExtendedLocationName { get => _galleryImagesBody.ExtendedLocationName ?? null; set => _galleryImagesBody.ExtendedLocationName = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _galleryImagesBody.ExtendedLocationType ?? null; set => _galleryImagesBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The hypervisor generation of the Virtual Machine [V1, V2] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", + SerializedName = @"hyperVGeneration", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + public string HyperVGeneration { get => _galleryImagesBody.HyperVGeneration ?? null; set => _galleryImagesBody.HyperVGeneration = value; } + + /// The name of the gallery image definition offer. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition offer.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition offer.", + SerializedName = @"offer", + PossibleTypes = new [] { typeof(string) })] + public string IdentifierOffer { get => _galleryImagesBody.IdentifierOffer ?? null; set => _galleryImagesBody.IdentifierOffer = value; } + + /// The name of the gallery image definition publisher. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition publisher.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition publisher.", + SerializedName = @"publisher", + PossibleTypes = new [] { typeof(string) })] + public string IdentifierPublisher { get => _galleryImagesBody.IdentifierPublisher ?? null; set => _galleryImagesBody.IdentifierPublisher = value; } + + /// The name of the gallery image definition SKU. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition SKU.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition SKU.", + SerializedName = @"sku", + PossibleTypes = new [] { typeof(string) })] + public string IdentifierSku { get => _galleryImagesBody.IdentifierSku ?? null; set => _galleryImagesBody.IdentifierSku = value; } + + /// location of the image the gallery image should be created from + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "location of the image the gallery image should be created from")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"location of the image the gallery image should be created from", + SerializedName = @"imagePath", + PossibleTypes = new [] { typeof(string) })] + public string ImagePath { get => _galleryImagesBody.ImagePath ?? null; set => _galleryImagesBody.ImagePath = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _galleryImagesBody.Location ?? null; set => _galleryImagesBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Operating system type that the gallery image uses [Windows, Linux] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Operating system type that the gallery image uses [Windows, Linux]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Operating system type that the gallery image uses [Windows, Linux]", + SerializedName = @"osType", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + public string OSType { get => _galleryImagesBody.OSType ?? null; set => _galleryImagesBody.OSType = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _galleryImagesBody.Tag ?? null /* object */; set => _galleryImagesBody.Tag = value; } + + /// This is the version of the gallery image. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This is the version of the gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"This is the version of the gallery image.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string VersionName { get => _galleryImagesBody.VersionName ?? null; set => _galleryImagesBody.VersionName = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMGalleryImage_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMGalleryImage_UpdateExpanded Clone() + { + var clone = new SetAzStackHCIVMGalleryImage_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._galleryImagesBody = this._galleryImagesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _galleryImagesBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMGalleryImage_UpdateExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMLogicalNetwork_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMLogicalNetwork_UpdateExpanded.cs new file mode 100644 index 000000000000..cafa802089c9 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMLogicalNetwork_UpdateExpanded.cs @@ -0,0 +1,645 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMLogicalNetwork_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + public partial class SetAzStackHCIVMLogicalNetwork_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The logical network resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks _logicalNetworksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The list of DNS servers IP addresses. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of DNS servers IP addresses.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of DNS servers IP addresses.", + SerializedName = @"dnsServers", + PossibleTypes = new [] { typeof(string) })] + public string[] DhcpOptionDnsServer { get => _logicalNetworksBody.DhcpOptionDnsServer?.ToArray() ?? null /* fixedArrayOf */; set => _logicalNetworksBody.DhcpOptionDnsServer = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string ExtendedLocationName { get => _logicalNetworksBody.ExtendedLocationName ?? null; set => _logicalNetworksBody.ExtendedLocationName = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _logicalNetworksBody.ExtendedLocationType ?? null; set => _logicalNetworksBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _logicalNetworksBody.Location ?? null; set => _logicalNetworksBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Subnet - list of subnets under the logical network + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Subnet - list of subnets under the logical network")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Subnet - list of subnets under the logical network", + SerializedName = @"subnets", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet[] Subnet { get => _logicalNetworksBody.Subnet?.ToArray() ?? null /* fixedArrayOf */; set => _logicalNetworksBody.Subnet = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _logicalNetworksBody.Tag ?? null /* object */; set => _logicalNetworksBody.Tag = value; } + + /// name of the network switch to be used for VMs + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "name of the network switch to be used for VMs")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"name of the network switch to be used for VMs", + SerializedName = @"vmSwitchName", + PossibleTypes = new [] { typeof(string) })] + public string VMSwitchName { get => _logicalNetworksBody.VMSwitchName ?? null; set => _logicalNetworksBody.VMSwitchName = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMLogicalNetwork_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMLogicalNetwork_UpdateExpanded Clone() + { + var clone = new SetAzStackHCIVMLogicalNetwork_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._logicalNetworksBody = this._logicalNetworksBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _logicalNetworksBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMLogicalNetwork_UpdateExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs new file mode 100644 index 000000000000..2de1434071e1 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs @@ -0,0 +1,706 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery + /// image creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMMarketplaceGalleryImage_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + public partial class SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The marketplace gallery image resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages _marketplaceGalleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]", + SerializedName = @"cloudInitDataSource", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] + public string CloudInitDataSource { get => _marketplaceGalleryImagesBody.CloudInitDataSource ?? null; set => _marketplaceGalleryImagesBody.CloudInitDataSource = value; } + + /// + /// Storage ContainerID of the storage container to be used for marketplace gallery image + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for marketplace gallery image")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Storage ContainerID of the storage container to be used for marketplace gallery image", + SerializedName = @"containerId", + PossibleTypes = new [] { typeof(string) })] + public string ContainerId { get => _marketplaceGalleryImagesBody.ContainerId ?? null; set => _marketplaceGalleryImagesBody.ContainerId = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string ExtendedLocationName { get => _marketplaceGalleryImagesBody.ExtendedLocationName ?? null; set => _marketplaceGalleryImagesBody.ExtendedLocationName = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _marketplaceGalleryImagesBody.ExtendedLocationType ?? null; set => _marketplaceGalleryImagesBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The hypervisor generation of the Virtual Machine [V1, V2] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", + SerializedName = @"hyperVGeneration", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + public string HyperVGeneration { get => _marketplaceGalleryImagesBody.HyperVGeneration ?? null; set => _marketplaceGalleryImagesBody.HyperVGeneration = value; } + + /// The name of the gallery image definition offer. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition offer.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition offer.", + SerializedName = @"offer", + PossibleTypes = new [] { typeof(string) })] + public string IdentifierOffer { get => _marketplaceGalleryImagesBody.IdentifierOffer ?? null; set => _marketplaceGalleryImagesBody.IdentifierOffer = value; } + + /// The name of the gallery image definition publisher. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition publisher.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition publisher.", + SerializedName = @"publisher", + PossibleTypes = new [] { typeof(string) })] + public string IdentifierPublisher { get => _marketplaceGalleryImagesBody.IdentifierPublisher ?? null; set => _marketplaceGalleryImagesBody.IdentifierPublisher = value; } + + /// The name of the gallery image definition SKU. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition SKU.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the gallery image definition SKU.", + SerializedName = @"sku", + PossibleTypes = new [] { typeof(string) })] + public string IdentifierSku { get => _marketplaceGalleryImagesBody.IdentifierSku ?? null; set => _marketplaceGalleryImagesBody.IdentifierSku = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _marketplaceGalleryImagesBody.Location ?? null; set => _marketplaceGalleryImagesBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Operating system type that the gallery image uses [Windows, Linux] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Operating system type that the gallery image uses [Windows, Linux]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Operating system type that the gallery image uses [Windows, Linux]", + SerializedName = @"osType", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + public string OSType { get => _marketplaceGalleryImagesBody.OSType ?? null; set => _marketplaceGalleryImagesBody.OSType = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _marketplaceGalleryImagesBody.Tag ?? null /* object */; set => _marketplaceGalleryImagesBody.Tag = value; } + + /// This is the version of the gallery image. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This is the version of the gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"This is the version of the gallery image.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string VersionName { get => _marketplaceGalleryImagesBody.VersionName ?? null; set => _marketplaceGalleryImagesBody.VersionName = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded Clone() + { + var clone = new SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._marketplaceGalleryImagesBody = this._marketplaceGalleryImagesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMNetworkInterface_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMNetworkInterface_UpdateExpanded.cs new file mode 100644 index 000000000000..f6ebc727a5dd --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMNetworkInterface_UpdateExpanded.cs @@ -0,0 +1,645 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMNetworkInterface_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + public partial class SetAzStackHCIVMNetworkInterface_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The network interface resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces _networkInterfacesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// List of DNS server IP Addresses for the interface + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "List of DNS server IP Addresses for the interface")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"List of DNS server IP Addresses for the interface", + SerializedName = @"dnsServers", + PossibleTypes = new [] { typeof(string) })] + public string[] DnsSettingDnsServer { get => _networkInterfacesBody.DnsSettingDnsServer?.ToArray() ?? null /* fixedArrayOf */; set => _networkInterfacesBody.DnsSettingDnsServer = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string ExtendedLocationName { get => _networkInterfacesBody.ExtendedLocationName ?? null; set => _networkInterfacesBody.ExtendedLocationName = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _networkInterfacesBody.ExtendedLocationType ?? null; set => _networkInterfacesBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// IPConfigurations - A list of IPConfigurations of the network interface. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "IPConfigurations - A list of IPConfigurations of the network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"IPConfigurations - A list of IPConfigurations of the network interface.", + SerializedName = @"ipConfigurations", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration[] IPConfiguration { get => _networkInterfacesBody.IPConfiguration?.ToArray() ?? null /* fixedArrayOf */; set => _networkInterfacesBody.IPConfiguration = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _networkInterfacesBody.Location ?? null; set => _networkInterfacesBody.Location = value; } + + /// MacAddress - The MAC address of the network interface. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "MacAddress - The MAC address of the network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"MacAddress - The MAC address of the network interface.", + SerializedName = @"macAddress", + PossibleTypes = new [] { typeof(string) })] + public string MacAddress { get => _networkInterfacesBody.MacAddress ?? null; set => _networkInterfacesBody.MacAddress = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _networkInterfacesBody.Tag ?? null /* object */; set => _networkInterfacesBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMNetworkInterface_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMNetworkInterface_UpdateExpanded Clone() + { + var clone = new SetAzStackHCIVMNetworkInterface_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._networkInterfacesBody = this._networkInterfacesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _networkInterfacesBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMNetworkInterface_UpdateExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMStorageContainer_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMStorageContainer_UpdateExpanded.cs new file mode 100644 index 000000000000..c803247c4022 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMStorageContainer_UpdateExpanded.cs @@ -0,0 +1,621 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMStorageContainer_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + public partial class SetAzStackHCIVMStorageContainer_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The storage container resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers _storageContainersBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string ExtendedLocationName { get => _storageContainersBody.ExtendedLocationName ?? null; set => _storageContainersBody.ExtendedLocationName = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _storageContainersBody.ExtendedLocationType ?? null; set => _storageContainersBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _storageContainersBody.Location ?? null; set => _storageContainersBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Path of the storage container on the disk + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Path of the storage container on the disk")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Path of the storage container on the disk", + SerializedName = @"path", + PossibleTypes = new [] { typeof(string) })] + public string Path { get => _storageContainersBody.Path ?? null; set => _storageContainersBody.Path = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _storageContainersBody.Tag ?? null /* object */; set => _storageContainersBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMStorageContainer_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMStorageContainer_UpdateExpanded Clone() + { + var clone = new SetAzStackHCIVMStorageContainer_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._storageContainersBody = this._storageContainersBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _storageContainersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMStorageContainer_UpdateExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualHardDisk_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualHardDisk_UpdateExpanded.cs new file mode 100644 index 000000000000..f71e596a1770 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualHardDisk_UpdateExpanded.cs @@ -0,0 +1,700 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualHardDisk_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + public partial class SetAzStackHCIVMVirtualHardDisk_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The virtual hard disk resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks _virtualHardDisksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"blockSizeBytes", + PossibleTypes = new [] { typeof(int) })] + public int BlockSizeByte { get => _virtualHardDisksBody.BlockSizeByte ?? default(int); set => _virtualHardDisksBody.BlockSizeByte = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// Storage ContainerID of the storage container to be used for VHD + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for VHD")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Storage ContainerID of the storage container to be used for VHD", + SerializedName = @"containerId", + PossibleTypes = new [] { typeof(string) })] + public string ContainerId { get => _virtualHardDisksBody.ContainerId ?? null; set => _virtualHardDisksBody.ContainerId = value; } + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The format of the actual VHD file [vhd, vhdx] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The format of the actual VHD file [vhd, vhdx]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The format of the actual VHD file [vhd, vhdx]", + SerializedName = @"diskFileFormat", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("vhdx", "vhd")] + public string DiskFileFormat { get => _virtualHardDisksBody.DiskFileFormat ?? null; set => _virtualHardDisksBody.DiskFileFormat = value; } + + /// Size of the disk in GB + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Size of the disk in GB")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Size of the disk in GB", + SerializedName = @"diskSizeGB", + PossibleTypes = new [] { typeof(long) })] + public long DiskSizeGb { get => _virtualHardDisksBody.DiskSizeGb ?? default(long); set => _virtualHardDisksBody.DiskSizeGb = value; } + + /// Boolean for enabling dynamic sizing on the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Boolean for enabling dynamic sizing on the virtual hard disk")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Boolean for enabling dynamic sizing on the virtual hard disk", + SerializedName = @"dynamic", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter Dynamic { get => _virtualHardDisksBody.Dynamic ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualHardDisksBody.Dynamic = value; } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string ExtendedLocationName { get => _virtualHardDisksBody.ExtendedLocationName ?? null; set => _virtualHardDisksBody.ExtendedLocationName = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _virtualHardDisksBody.ExtendedLocationType ?? null; set => _virtualHardDisksBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The hypervisor generation of the Virtual Machine [V1, V2] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", + SerializedName = @"hyperVGeneration", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + public string HyperVGeneration { get => _virtualHardDisksBody.HyperVGeneration ?? null; set => _virtualHardDisksBody.HyperVGeneration = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _virtualHardDisksBody.Location ?? null; set => _virtualHardDisksBody.Location = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"logicalSectorBytes", + PossibleTypes = new [] { typeof(int) })] + public int LogicalSectorByte { get => _virtualHardDisksBody.LogicalSectorByte ?? default(int); set => _virtualHardDisksBody.LogicalSectorByte = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"physicalSectorBytes", + PossibleTypes = new [] { typeof(int) })] + public int PhysicalSectorByte { get => _virtualHardDisksBody.PhysicalSectorByte ?? default(int); set => _virtualHardDisksBody.PhysicalSectorByte = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _virtualHardDisksBody.Tag ?? null /* object */; set => _virtualHardDisksBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMVirtualHardDisk_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualHardDisk_UpdateExpanded Clone() + { + var clone = new SetAzStackHCIVMVirtualHardDisk_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._virtualHardDisksBody = this._virtualHardDisksBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _virtualHardDisksBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMVirtualHardDisk_UpdateExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualMachineInstance_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualMachineInstance_UpdateExpanded.cs new file mode 100644 index 000000000000..dc053d4186cf --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualMachineInstance_UpdateExpanded.cs @@ -0,0 +1,952 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// + /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine + /// instance creation. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualMachineInstance_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + public partial class SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The virtual machine instance resource definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance _virtualMachineInstanceBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// + /// Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage + /// of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic + /// memory enabled. This property can be in the range of 5 to 2000. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.", + SerializedName = @"targetMemoryBuffer", + PossibleTypes = new [] { typeof(int) })] + public int DynamicMemoryConfigTargetMemoryBuffer { get => _virtualMachineInstanceBody.DynamicMemoryConfigTargetMemoryBuffer ?? default(int); set => _virtualMachineInstanceBody.DynamicMemoryConfigTargetMemoryBuffer = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"maximumMemoryMB", + PossibleTypes = new [] { typeof(long) })] + public long DynamicMemoryMaximumMemoryInMb { get => _virtualMachineInstanceBody.DynamicMemoryConfigMaximumMemoryMb ?? default(long); set => _virtualMachineInstanceBody.DynamicMemoryConfigMaximumMemoryMb = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"minimumMemoryMB", + PossibleTypes = new [] { typeof(long) })] + public long DynamicMemoryMinimumMemoryInMb { get => _virtualMachineInstanceBody.DynamicMemoryConfigMinimumMemoryMb ?? default(long); set => _virtualMachineInstanceBody.DynamicMemoryConfigMinimumMemoryMb = value; } + + /// The name of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the extended location.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string ExtendedLocationName { get => _virtualMachineInstanceBody.ExtendedLocationName ?? null; set => _virtualMachineInstanceBody.ExtendedLocationName = value; } + + /// The type of the extended location. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of the extended location.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + public string ExtendedLocationType { get => _virtualMachineInstanceBody.ExtendedLocationType ?? null; set => _virtualMachineInstanceBody.ExtendedLocationType = value; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// RAM in MB for the virtual machine instance + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "RAM in MB for the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"RAM in MB for the virtual machine instance", + SerializedName = @"memoryMB", + PossibleTypes = new [] { typeof(long) })] + public long HardwareProfileMemoryMb { get => _virtualMachineInstanceBody.HardwareProfileMemoryMb ?? default(long); set => _virtualMachineInstanceBody.HardwareProfileMemoryMb = value; } + + /// number of processors for the virtual machine instance + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "number of processors for the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"number of processors for the virtual machine instance", + SerializedName = @"processors", + PossibleTypes = new [] { typeof(int) })] + public int HardwareProfileProcessor { get => _virtualMachineInstanceBody.HardwareProfileProcessor ?? default(int); set => _virtualMachineInstanceBody.HardwareProfileProcessor = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"vmSize", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] + public string HardwareProfileVMSize { get => _virtualMachineInstanceBody.HardwareProfileVMSize ?? null; set => _virtualMachineInstanceBody.HardwareProfileVMSize = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The HTTP proxy server endpoint to use. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The HTTP proxy server endpoint to use.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The HTTP proxy server endpoint to use.", + SerializedName = @"httpProxy", + PossibleTypes = new [] { typeof(string) })] + public string HttpProxyConfigHttpProxy { get => _virtualMachineInstanceBody.HttpProxyConfigHttpProxy ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigHttpProxy = value; } + + /// The HTTPS proxy server endpoint to use. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The HTTPS proxy server endpoint to use.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The HTTPS proxy server endpoint to use.", + SerializedName = @"httpsProxy", + PossibleTypes = new [] { typeof(string) })] + public string HttpProxyConfigHttpsProxy { get => _virtualMachineInstanceBody.HttpProxyConfigHttpsProxy ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigHttpsProxy = value; } + + /// The endpoints that should not go through proxy. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The endpoints that should not go through proxy.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The endpoints that should not go through proxy.", + SerializedName = @"noProxy", + PossibleTypes = new [] { typeof(string) })] + public string[] HttpProxyConfigNoProxy { get => _virtualMachineInstanceBody.HttpProxyConfigNoProxy?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.HttpProxyConfigNoProxy = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// Alternative CA cert to use for connecting to proxy servers. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Alternative CA cert to use for connecting to proxy servers.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Alternative CA cert to use for connecting to proxy servers.", + SerializedName = @"trustedCa", + PossibleTypes = new [] { typeof(string) })] + public string HttpProxyConfigTrustedCa { get => _virtualMachineInstanceBody.HttpProxyConfigTrustedCa ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigTrustedCa = value; } + + /// The identity type. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The identity type.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The identity type.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + public string IdentityType { get => _virtualMachineInstanceBody.IdentityType ?? null; set => _virtualMachineInstanceBody.IdentityType = value; } + + /// Resource ID of the image + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource ID of the image")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource ID of the image", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + public string ImageReferenceId { get => _virtualMachineInstanceBody.ImageReferenceId ?? null; set => _virtualMachineInstanceBody.ImageReferenceId = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// DisablePasswordAuthentication - whether password authentication should be disabled + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "DisablePasswordAuthentication - whether password authentication should be disabled")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"DisablePasswordAuthentication - whether password authentication should be disabled", + SerializedName = @"disablePasswordAuthentication", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter LinuxConfigurationDisablePasswordAuthentication { get => _virtualMachineInstanceBody.LinuxConfigurationDisablePasswordAuthentication ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationDisablePasswordAuthentication = value; } + + /// + /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation + /// process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", + SerializedName = @"provisionVMAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent = value; } + + /// + /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", + SerializedName = @"provisionVMConfigAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent = value; } + + /// The list of SSH public keys used to authenticate with linux based VMs. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of SSH public keys used to authenticate with linux based VMs.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of SSH public keys used to authenticate with linux based VMs.", + SerializedName = @"publicKeys", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[] LinuxConfigurationSshPublicKey { get => _virtualMachineInstanceBody.LinuxConfigurationSshPublicKey?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.LinuxConfigurationSshPublicKey = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + /// + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance", + SerializedName = @"networkInterfaces", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem[] NetworkProfileNetworkInterface { get => _virtualMachineInstanceBody.NetworkProfileNetworkInterface?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.NetworkProfileNetworkInterface = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Resource ID of the OS disk + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource ID of the OS disk")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource ID of the OS disk", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + public string OSDiskId { get => _virtualMachineInstanceBody.OSDiskId ?? null; set => _virtualMachineInstanceBody.OSDiskId = value; } + + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or + /// a specialized VHD. Possible values are: **Windows,** **Linux.** + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**", + SerializedName = @"osType", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + public string OSDiskOstype { get => _virtualMachineInstanceBody.OSDiskOstype ?? null; set => _virtualMachineInstanceBody.OSDiskOstype = value; } + + /// AdminPassword - admin password + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "AdminPassword - admin password")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"AdminPassword - admin password", + SerializedName = @"adminPassword", + PossibleTypes = new [] { typeof(string) })] + public string OSProfileAdminPassword { get => _virtualMachineInstanceBody.OSProfileAdminPassword ?? null; set => _virtualMachineInstanceBody.OSProfileAdminPassword = value; } + + /// AdminUsername - admin username + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "AdminUsername - admin username")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"AdminUsername - admin username", + SerializedName = @"adminUsername", + PossibleTypes = new [] { typeof(string) })] + public string OSProfileAdminUsername { get => _virtualMachineInstanceBody.OSProfileAdminUsername ?? null; set => _virtualMachineInstanceBody.OSProfileAdminUsername = value; } + + /// ComputerName - name of the compute + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "ComputerName - name of the compute")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"ComputerName - name of the compute", + SerializedName = @"computerName", + PossibleTypes = new [] { typeof(string) })] + public string OSProfileComputerName { get => _virtualMachineInstanceBody.OSProfileComputerName ?? null; set => _virtualMachineInstanceBody.OSProfileComputerName = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Unique identifier defined by ARC to identify the guest of the VM. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Unique identifier defined by ARC to identify the guest of the VM.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Unique identifier defined by ARC to identify the guest of the VM.", + SerializedName = @"resourceUid", + PossibleTypes = new [] { typeof(string) })] + public string ResourceUid { get => _virtualMachineInstanceBody.ResourceUid ?? null; set => _virtualMachineInstanceBody.ResourceUid = value; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"enableTPM", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter SecurityProfileEnableTpm { get => _virtualMachineInstanceBody.SecurityProfileEnableTpm ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.SecurityProfileEnableTpm = value; } + + /// + /// Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType + /// to function. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.", + SerializedName = @"securityType", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("TrustedLaunch", "ConfidentialVM")] + public string SecurityProfileSecurityType { get => _virtualMachineInstanceBody.SecurityProfileSecurityType ?? null; set => _virtualMachineInstanceBody.SecurityProfileSecurityType = value; } + + /// adds data disks to the virtual machine instance + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "adds data disks to the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"adds data disks to the virtual machine instance", + SerializedName = @"dataDisks", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem[] StorageProfileDataDisk { get => _virtualMachineInstanceBody.StorageProfileDataDisk?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.StorageProfileDataDisk = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// Id of the storage container that hosts the VM configuration file + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Id of the storage container that hosts the VM configuration file")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Id of the storage container that hosts the VM configuration file", + SerializedName = @"vmConfigStoragePathId", + PossibleTypes = new [] { typeof(string) })] + public string StorageProfileVMConfigStoragePathId { get => _virtualMachineInstanceBody.StorageProfileVMConfigStoragePathId ?? null; set => _virtualMachineInstanceBody.StorageProfileVMConfigStoragePathId = value; } + + /// + /// Specifies whether secure boot should be enabled on the virtual machine instance. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies whether secure boot should be enabled on the virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether secure boot should be enabled on the virtual machine instance.", + SerializedName = @"secureBootEnabled", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter UefiSettingSecureBootEnabled { get => _virtualMachineInstanceBody.UefiSettingSecureBootEnabled ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.UefiSettingSecureBootEnabled = value; } + + /// Whether to EnableAutomaticUpdates on the machine + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Whether to EnableAutomaticUpdates on the machine")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether to EnableAutomaticUpdates on the machine", + SerializedName = @"enableAutomaticUpdates", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter WindowConfigurationEnableAutomaticUpdate { get => _virtualMachineInstanceBody.WindowConfigurationEnableAutomaticUpdate ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationEnableAutomaticUpdate = value; } + + /// + /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation + /// process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", + SerializedName = @"provisionVMAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent = value; } + + /// + /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", + SerializedName = @"provisionVMConfigAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent = value; } + + /// TimeZone for the virtual machine instance + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "TimeZone for the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"TimeZone for the virtual machine instance", + SerializedName = @"timeZone", + PossibleTypes = new [] { typeof(string) })] + public string WindowConfigurationTimeZone { get => _virtualMachineInstanceBody.WindowConfigurationTimeZone ?? null; set => _virtualMachineInstanceBody.WindowConfigurationTimeZone = value; } + + /// The list of SSH public keys used to authenticate with linux based VMs. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of SSH public keys used to authenticate with linux based VMs.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of SSH public keys used to authenticate with linux based VMs.", + SerializedName = @"publicKeys", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[] WindowsConfigurationSshPublicKey { get => _virtualMachineInstanceBody.WindowsConfigurationSshPublicKey?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.WindowsConfigurationSshPublicKey = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded Clone() + { + var clone = new SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._virtualMachineInstanceBody = this._virtualMachineInstanceBody; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesCreateOrUpdate(ResourceUri, _virtualMachineInstanceBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/StartAzStackHciVMVirtualMachine_Start.cs b/azstackhci-powershell/generated/cmdlets/StartAzStackHciVMVirtualMachine_Start.cs new file mode 100644 index 000000000000..fb7b9aa73d8e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/StartAzStackHciVMVirtualMachine_Start.cs @@ -0,0 +1,524 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to start a virtual machine instance. + /// + /// [OpenAPI] Start=>POST:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Start, @"AzStackHCIVMVirtualMachine_Start", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to start a virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start", ApiVersion = "2024-01-01")] + public partial class StartAzStackHCIVMVirtualMachine_Start : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of StartAzStackHCIVMVirtualMachine_Start + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.StartAzStackHCIVMVirtualMachine_Start Clone() + { + var clone = new StartAzStackHCIVMVirtualMachine_Start(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesStart' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesStart(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public StartAzStackHCIVMVirtualMachine_Start() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/StopAzStackHciVMVirtualMachine_Stop.cs b/azstackhci-powershell/generated/cmdlets/StopAzStackHciVMVirtualMachine_Stop.cs new file mode 100644 index 000000000000..664e022b89a4 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/StopAzStackHciVMVirtualMachine_Stop.cs @@ -0,0 +1,524 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to stop a virtual machine instance. + /// + /// [OpenAPI] Stop=>POST:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Stop, @"AzStackHCIVMVirtualMachine_Stop", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to stop a virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop", ApiVersion = "2024-01-01")] + public partial class StopAzStackHCIVMVirtualMachine_Stop : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of StopAzStackHCIVMVirtualMachine_Stop + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.StopAzStackHCIVMVirtualMachine_Stop Clone() + { + var clone = new StopAzStackHCIVMVirtualMachine_Stop(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesStop' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesStop(ResourceUri, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public StopAzStackHCIVMVirtualMachine_Stop() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..170c72ea8641 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs @@ -0,0 +1,575 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a gallery image. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMGalleryImage_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath Clone() + { + var clone = new UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString.cs new file mode 100644 index 000000000000..24cef20d7270 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString.cs @@ -0,0 +1,573 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a gallery image. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMGalleryImage_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString Clone() + { + var clone = new UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..c4e1aef26e4c --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs @@ -0,0 +1,574 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a logical network. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a logical network.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath Clone() + { + var clone = new UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs new file mode 100644 index 000000000000..0af554e6545f --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs @@ -0,0 +1,572 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a logical network. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMLogicalNetwork_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a logical network.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString Clone() + { + var clone = new UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..4466fa89ac50 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs @@ -0,0 +1,578 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a marketplace gallery image. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a marketplace gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath Clone() + { + var clone = new UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet + /// class. + /// + public UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs new file mode 100644 index 000000000000..2ca3aff2b9da --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs @@ -0,0 +1,576 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a marketplace gallery image. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a marketplace gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString Clone() + { + var clone = new UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet + /// class. + /// + public UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..6a3afe541d25 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs @@ -0,0 +1,576 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a network interface. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMNetworkInterface_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath Clone() + { + var clone = new UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs new file mode 100644 index 000000000000..50baf3cbfa0b --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs @@ -0,0 +1,572 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a network interface. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMNetworkInterface_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString Clone() + { + var clone = new UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..cc44a8ec33bd --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath.cs @@ -0,0 +1,574 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a storage container. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMStoragePath_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a storage container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath Clone() + { + var clone = new UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonString.cs new file mode 100644 index 000000000000..eedd4b664a71 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonString.cs @@ -0,0 +1,572 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a storage container. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMStoragePath_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a storage container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMStoragePath_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMStoragePath_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMStoragePath_UpdateViaJsonString Clone() + { + var clone = new UpdateAzStackHCIVMStoragePath_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMStoragePath_UpdateViaJsonString() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..b3745ac083e7 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs @@ -0,0 +1,574 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a virtual hard disk. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual hard disk.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath Clone() + { + var clone = new UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs new file mode 100644 index 000000000000..8fd882effad1 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs @@ -0,0 +1,572 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a virtual hard disk. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualHardDisk_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual hard disk.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString Clone() + { + var clone = new UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath.cs new file mode 100644 index 000000000000..00570b356d8e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath.cs @@ -0,0 +1,541 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a virtual machine instance. + /// + /// [OpenAPI] Update=>PATCH:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualMachine_UpdateViaJsonFilePath", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + public global::System.String _jsonString; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonFilePath; + + /// Path of Json file supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Path of Json file supplied to the Update operation", + SerializedName = @"JsonFilePath", + PossibleTypes = new [] { typeof(string) })] + public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath Clone() + { + var clone = new UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + clone.JsonFilePath = this.JsonFilePath; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString.cs new file mode 100644 index 000000000000..14fba6a9c16e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString.cs @@ -0,0 +1,539 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a virtual machine instance. + /// + /// [OpenAPI] Update=>PATCH:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualMachine_UpdateViaJsonString", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] + public partial class UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _jsonString; + + /// Json string supplied to the Update operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Json string supplied to the Update operation", + SerializedName = @"JsonString", + PossibleTypes = new [] { typeof(string) })] + public string JsonString { get => this._jsonString; set => this._jsonString = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString Clone() + { + var clone = new UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceUri = this.ResourceUri; + clone.JsonString = this.JsonString; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateExpanded.cs new file mode 100644 index 000000000000..5158006a7c34 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateExpanded.cs @@ -0,0 +1,574 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a gallery image. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMGalleryImage_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMGalleryImage_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The gallery images resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest _galleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesUpdateRequest(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the gallery image", + SerializedName = @"galleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("GalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags Tag { get => _galleryImagesBody.Tag ?? null /* object */; set => _galleryImagesBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMGalleryImage_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMGalleryImage_UpdateExpanded Clone() + { + var clone = new UpdateAzStackHCIVMGalleryImage_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._galleryImagesBody = this._galleryImagesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.GalleryImagesUpdate(SubscriptionId, ResourceGroupName, Name, _galleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMGalleryImage_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..6c797553d979 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateViaIdentityExpanded.cs @@ -0,0 +1,553 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a gallery image. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMGalleryImage_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The gallery images resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest _galleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesUpdateRequest(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags Tag { get => _galleryImagesBody.Tag ?? null /* object */; set => _galleryImagesBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded Clone() + { + var clone = new UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._galleryImagesBody = this._galleryImagesBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'GalleryImagesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.GalleryImagesUpdateViaIdentity(InputObject.Id, _galleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.GalleryImageName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.GalleryImageName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.GalleryImagesUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.GalleryImageName ?? null, _galleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateExpanded.cs new file mode 100644 index 000000000000..a25fa2ad0717 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateExpanded.cs @@ -0,0 +1,573 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a logical network. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMLogicalNetwork_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a logical network.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The logical network resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest _logicalNetworksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksUpdateRequest(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the logical network + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the logical network", + SerializedName = @"logicalNetworkName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("LogicalNetworkName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequestTags Tag { get => _logicalNetworksBody.Tag ?? null /* object */; set => _logicalNetworksBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded Clone() + { + var clone = new UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._logicalNetworksBody = this._logicalNetworksBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LogicalNetworksUpdate(SubscriptionId, ResourceGroupName, Name, _logicalNetworksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..a6fee46fe9f7 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateViaIdentityExpanded.cs @@ -0,0 +1,552 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a logical network. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a logical network.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The logical network resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest _logicalNetworksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksUpdateRequest(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequestTags Tag { get => _logicalNetworksBody.Tag ?? null /* object */; set => _logicalNetworksBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded Clone() + { + var clone = new UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._logicalNetworksBody = this._logicalNetworksBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LogicalNetworksUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.LogicalNetworksUpdateViaIdentity(InputObject.Id, _logicalNetworksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.LogicalNetworkName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.LogicalNetworkName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.LogicalNetworksUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.LogicalNetworkName ?? null, _logicalNetworksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs new file mode 100644 index 000000000000..a881f05d8080 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs @@ -0,0 +1,576 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a marketplace gallery image. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMMarketplaceGalleryImage_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a marketplace gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The marketplace gallery image resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest _marketplaceGalleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesUpdateRequest(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the marketplace gallery image + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the marketplace gallery image", + SerializedName = @"marketplaceGalleryImageName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags Tag { get => _marketplaceGalleryImagesBody.Tag ?? null /* object */; set => _marketplaceGalleryImagesBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded Clone() + { + var clone = new UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._marketplaceGalleryImagesBody = this._marketplaceGalleryImagesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.MarketplaceGalleryImagesUpdate(SubscriptionId, ResourceGroupName, Name, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..a553780780c0 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateViaIdentityExpanded.cs @@ -0,0 +1,554 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a marketplace gallery image. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a marketplace gallery image.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The marketplace gallery image resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest _marketplaceGalleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesUpdateRequest(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags Tag { get => _marketplaceGalleryImagesBody.Tag ?? null /* object */; set => _marketplaceGalleryImagesBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded Clone() + { + var clone = new UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._marketplaceGalleryImagesBody = this._marketplaceGalleryImagesBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.MarketplaceGalleryImagesUpdateViaIdentity(InputObject.Id, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.MarketplaceGalleryImageName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.MarketplaceGalleryImageName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.MarketplaceGalleryImagesUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.MarketplaceGalleryImageName ?? null, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet + /// class. + /// + public UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateExpanded.cs new file mode 100644 index 000000000000..be3ff6ecc71d --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateExpanded.cs @@ -0,0 +1,573 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a network interface. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMNetworkInterface_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMNetworkInterface_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The network interface resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest _networkInterfacesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesUpdateRequest(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the network interface + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the network interface", + SerializedName = @"networkInterfaceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("NetworkInterfaceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequestTags Tag { get => _networkInterfacesBody.Tag ?? null /* object */; set => _networkInterfacesBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMNetworkInterface_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMNetworkInterface_UpdateExpanded Clone() + { + var clone = new UpdateAzStackHCIVMNetworkInterface_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._networkInterfacesBody = this._networkInterfacesBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.NetworkInterfacesUpdate(SubscriptionId, ResourceGroupName, Name, _networkInterfacesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMNetworkInterface_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..373953f268f5 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateViaIdentityExpanded.cs @@ -0,0 +1,552 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a network interface. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a network interface.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// The network interface resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest _networkInterfacesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesUpdateRequest(); + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequestTags Tag { get => _networkInterfacesBody.Tag ?? null /* object */; set => _networkInterfacesBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded Clone() + { + var clone = new UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._networkInterfacesBody = this._networkInterfacesBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'NetworkInterfacesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.NetworkInterfacesUpdateViaIdentity(InputObject.Id, _networkInterfacesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.NetworkInterfaceName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.NetworkInterfaceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.NetworkInterfacesUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.NetworkInterfaceName ?? null, _networkInterfacesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateExpanded.cs new file mode 100644 index 000000000000..24faab9640ba --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateExpanded.cs @@ -0,0 +1,573 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a storage container. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMStoragePath_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a storage container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMStoragePath_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The storage container resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest _storageContainersBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersUpdateRequest(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the storage container + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the storage container", + SerializedName = @"storageContainerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("StorageContainerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags Tag { get => _storageContainersBody.Tag ?? null /* object */; set => _storageContainersBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMStoragePath_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMStoragePath_UpdateExpanded Clone() + { + var clone = new UpdateAzStackHCIVMStoragePath_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._storageContainersBody = this._storageContainersBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.StorageContainersUpdate(SubscriptionId, ResourceGroupName, Name, _storageContainersBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMStoragePath_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..653beaf3e30e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateViaIdentityExpanded.cs @@ -0,0 +1,550 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a storage container. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMStoragePath_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a storage container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The storage container resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest _storageContainersBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersUpdateRequest(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags Tag { get => _storageContainersBody.Tag ?? null /* object */; set => _storageContainersBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded Clone() + { + var clone = new UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._storageContainersBody = this._storageContainersBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'StorageContainersUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.StorageContainersUpdateViaIdentity(InputObject.Id, _storageContainersBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.StorageContainerName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.StorageContainerName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.StorageContainersUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.StorageContainerName ?? null, _storageContainersBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateExpanded.cs new file mode 100644 index 000000000000..0cc06490b717 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateExpanded.cs @@ -0,0 +1,573 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a virtual hard disk. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualHardDisk_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual hard disk.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The virtual hard disk resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest _virtualHardDisksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksUpdateRequest(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Name of the virtual hard disk + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Name of the virtual hard disk", + SerializedName = @"virtualHardDiskName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("VirtualHardDiskName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. The name is case insensitive. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group. The name is case insensitive.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the target subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of the target subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id", + SetCondition = @"")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequestTags Tag { get => _virtualHardDisksBody.Tag ?? null /* object */; set => _virtualHardDisksBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded Clone() + { + var clone = new UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._virtualHardDisksBody = this._virtualHardDisksBody; + clone.SubscriptionId = this.SubscriptionId; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualHardDisksUpdate(SubscriptionId, ResourceGroupName, Name, _virtualHardDisksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..4c7a1428acd2 --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateViaIdentityExpanded.cs @@ -0,0 +1,552 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a virtual hard disk. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual hard disk.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The virtual hard disk resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest _virtualHardDisksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksUpdateRequest(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Resource tags + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequestTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequestTags Tag { get => _virtualHardDisksBody.Tag ?? null /* object */; set => _virtualHardDisksBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded Clone() + { + var clone = new UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._virtualHardDisksBody = this._virtualHardDisksBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualHardDisksUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.VirtualHardDisksUpdateViaIdentity(InputObject.Id, _virtualHardDisksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.VirtualHardDiskName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.VirtualHardDiskName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.VirtualHardDisksUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.VirtualHardDiskName ?? null, _virtualHardDisksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualMachine_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualMachine_UpdateExpanded.cs new file mode 100644 index 000000000000..5d86839eba4e --- /dev/null +++ b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualMachine_UpdateExpanded.cs @@ -0,0 +1,665 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; + using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; + using System; + + /// The operation to update a virtual machine instance. + /// + /// [OpenAPI] Update=>PATCH:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualMachine_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual machine instance.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] + public partial class UpdateAzStackHCIVMVirtualMachine_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A dictionary to carry over additional data for pipeline. + private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); + + /// A buffer to record first returned object in response. + private object _firstResponse = null; + + /// + /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. + /// Two means multiple returned objects in response. + /// + private int _responseSize = 0; + + /// The virtual machine instance resource patch definition. + private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest _virtualMachineInstanceBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceUpdateRequest(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Accessor for cancellationTokenSource. + public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; + + /// + /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet + /// against a different subscription + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Accessor for extensibleParameters. + public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } + + /// RAM in MB for the virtual machine instance + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "RAM in MB for the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"RAM in MB for the virtual machine instance", + SerializedName = @"memoryMB", + PossibleTypes = new [] { typeof(long) })] + public long HardwareProfileMemoryMb { get => _virtualMachineInstanceBody.HardwareProfileMemoryMb ?? default(long); set => _virtualMachineInstanceBody.HardwareProfileMemoryMb = value; } + + /// number of processors for the virtual machine instance + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "number of processors for the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"number of processors for the virtual machine instance", + SerializedName = @"processors", + PossibleTypes = new [] { typeof(int) })] + public int HardwareProfileProcessor { get => _virtualMachineInstanceBody.HardwareProfileProcessor ?? default(int); set => _virtualMachineInstanceBody.HardwareProfileProcessor = value; } + + /// . + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @".", + SerializedName = @"vmSize", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] + public string HardwareProfileVMSize { get => _virtualMachineInstanceBody.HardwareProfileVMSize ?? null; set => _virtualMachineInstanceBody.HardwareProfileVMSize = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// The identity type. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The identity type.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The identity type.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + public string IdentityType { get => _virtualMachineInstanceBody.IdentityType ?? null; set => _virtualMachineInstanceBody.IdentityType = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation + /// process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", + SerializedName = @"provisionVMAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent = value; } + + /// + /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", + SerializedName = @"provisionVMConfigAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + /// + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance", + SerializedName = @"networkInterfaces", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfileUpdateNetworkInterfacesItem) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfileUpdateNetworkInterfacesItem[] NetworkProfileNetworkInterface { get => _virtualMachineInstanceBody.NetworkProfileNetworkInterface?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.NetworkProfileNetworkInterface = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// ComputerName - name of the computer + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "ComputerName - name of the computer")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"ComputerName - name of the computer", + SerializedName = @"computerName", + PossibleTypes = new [] { typeof(string) })] + public string OSProfileComputerName { get => _virtualMachineInstanceBody.OSProfileComputerName ?? null; set => _virtualMachineInstanceBody.OSProfileComputerName = value; } + + /// + /// The instance of the that the remote call will use. + /// + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceUri; + + /// + /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", + SerializedName = @"resourceUri", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] + public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } + + /// adds data disks to the virtual machine instance for the update call + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "adds data disks to the virtual machine instance for the update call")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"adds data disks to the virtual machine instance for the update call", + SerializedName = @"dataDisks", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageProfileUpdateDataDisksItem) })] + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageProfileUpdateDataDisksItem[] StorageProfileDataDisk { get => _virtualMachineInstanceBody.StorageProfileDataDisk?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.StorageProfileDataDisk = (value != null ? new System.Collections.Generic.List(value) : null); } + + /// + /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation + /// process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", + SerializedName = @"provisionVMAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent = value; } + + /// + /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", + SerializedName = @"provisionVMConfigAgent", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzStackHCIVMVirtualMachine_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualMachine_UpdateExpanded Clone() + { + var clone = new UpdateAzStackHCIVMVirtualMachine_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._virtualMachineInstanceBody = this._virtualMachineInstanceBody; + clone.ResourceUri = this.ResourceUri; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse); + } + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: + { + var data = messageData(); + int progress = (int)data.Value; + string activityMessage, statusDescription; + global::System.Management.Automation.ProgressRecordType recordType; + if (progress < 100) + { + activityMessage = "In progress"; + statusDescription = "Checking operation status"; + recordType = System.Management.Automation.ProgressRecordType.Processing; + } + else + { + activityMessage = "Completed"; + statusDescription = "Completed"; + recordType = System.Management.Automation.ProgressRecordType.Completed; + } + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) + { + PercentComplete = progress, + RecordType = recordType + }); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: + { + var data = messageData(); + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + else + { + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + WriteDebug($"Delaying {delay} seconds before polling."); + for (var now = 0; now < delay; ++now) + { + WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") + { + PercentComplete = now * 100 / delay + }); + await global::System.Threading.Tasks.Task.Delay(1000, token); + } + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'VirtualMachineInstancesUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.VirtualMachineInstancesUpdate(ResourceUri, _virtualMachineInstanceBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Initializes a new instance of the cmdlet class. + /// + public UpdateAzStackHCIVMVirtualMachine_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance + var result = (await response); + if (null != result) + { + if (0 == _responseSize) + { + _firstResponse = result; + _responseSize = 1; + } + else + { + if (1 ==_responseSize) + { + // Flush buffer + WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); + } + WriteObject(result.AddMultipleTypeNameIntoPSObject()); + _responseSize = 2; + } + } + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs b/azstackhci-powershell/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs new file mode 100644 index 000000000000..f42e6af2c533 --- /dev/null +++ b/azstackhci-powershell/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs @@ -0,0 +1,193 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Text.RegularExpressions; +using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "Psd1")] + [DoNotExport] + public class ExportPsd1 : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string CustomFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string Psd1Path { get; set; } + + [Parameter(Mandatory = true)] + public Guid ModuleGuid { get; set; } + + private static readonly bool IsAzure = Convert.ToBoolean(@"true"); + private const string CustomFolderRelative = "./custom"; + private const string Indent = Psd1Indent; + private const string Undefined = "undefined"; + private bool IsUndefined(string value) => string.Equals(Undefined, value, StringComparison.OrdinalIgnoreCase); + + protected override void ProcessRecord() + { + try + { + if (!Directory.Exists(ExportsFolder)) + { + throw new ArgumentException($"Exports folder '{ExportsFolder}' does not exist"); + } + + if (!Directory.Exists(CustomFolder)) + { + throw new ArgumentException($"Custom folder '{CustomFolder}' does not exist"); + } + + string version = Convert.ToString(@"2.0.0"); + // Validate the module version should be semantic version + // Following regex is official from https://semver.org/ + Regex rx = new Regex(@"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$", RegexOptions.Compiled); + if (rx.Matches(version).Count != 1) + { + throw new ArgumentException("Module-version is not a valid Semantic Version"); + } + + string previewVersion = null; + if (version.Contains('-')) + { + string[] versions = version.Split("-".ToCharArray(), 2); + version = versions[0]; + previewVersion = versions[1]; + } + + var sb = new StringBuilder(); + sb.AppendLine("@{"); + sb.AppendLine($@"{GuidStart} = '{ModuleGuid}'"); + sb.AppendLine($@"{Indent}RootModule = '{"./Az.StackHCIVM.psm1"}'"); + sb.AppendLine($@"{Indent}ModuleVersion = '{version}'"); + sb.AppendLine($@"{Indent}CompatiblePSEditions = 'Core', 'Desktop'"); + sb.AppendLine($@"{Indent}Author = '{"Microsoft Corporation"}'"); + sb.AppendLine($@"{Indent}CompanyName = '{"Microsoft Corporation"}'"); + sb.AppendLine($@"{Indent}Copyright = '{"Microsoft Corporation. All rights reserved."}'"); + sb.AppendLine($@"{Indent}Description = '{"Microsoft Azure PowerShell: StackHcivm cmdlets"}'"); + sb.AppendLine($@"{Indent}PowerShellVersion = '5.1'"); + sb.AppendLine($@"{Indent}DotNetFrameworkVersion = '4.7.2'"); + + // RequiredModules + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}RequiredModules = @({"undefined"})"); + } + + // RequiredAssemblies + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}RequiredAssemblies = @({"undefined"})"); + } + else + { + sb.AppendLine($@"{Indent}RequiredAssemblies = '{"./bin/Az.StackHCIVM.private.dll"}'"); + } + + // NestedModules + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}NestedModules = @({"undefined"})"); + } + + // FormatsToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}FormatsToProcess = @({"undefined"})"); + } + else + { + var customFormatPs1xmlFiles = Directory.GetFiles(CustomFolder) + .Where(f => f.EndsWith(".format.ps1xml")) + .Select(f => $"{CustomFolderRelative}/{Path.GetFileName(f)}"); + var formatList = customFormatPs1xmlFiles.Prepend("./Az.StackHCIVM.format.ps1xml").ToPsList(); + sb.AppendLine($@"{Indent}FormatsToProcess = {formatList}"); + } + + // TypesToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}TypesToProcess = @({"undefined"})"); + } + + // ScriptsToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}ScriptsToProcess = @({"undefined"})"); + } + + var functionInfos = GetScriptCmdlets(ExportsFolder).ToArray(); + // FunctionsToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}FunctionsToExport = @({"undefined"})"); + } + else + { + var cmdletsList = functionInfos.Select(fi => fi.Name).Distinct().ToPsList(); + sb.AppendLine($@"{Indent}FunctionsToExport = {cmdletsList}"); + } + + // AliasesToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}AliasesToExport = @({"undefined"})"); + } + else + { + var aliasesList = functionInfos.SelectMany(fi => fi.ScriptBlock.Attributes).ToAliasNames().ToPsList(); + if (!String.IsNullOrEmpty(aliasesList)) { + sb.AppendLine($@"{Indent}AliasesToExport = {aliasesList}"); + } + } + + // CmdletsToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}CmdletsToExport = @({"undefined"})"); + } + + sb.AppendLine($@"{Indent}PrivateData = @{{"); + sb.AppendLine($@"{Indent}{Indent}PSData = @{{"); + + if (previewVersion != null) + { + sb.AppendLine($@"{Indent}{Indent}{Indent}Prerelease = '{previewVersion}'"); + } + sb.AppendLine($@"{Indent}{Indent}{Indent}Tags = {"Azure ResourceManager ARM PSModule StackHcivm".Split(' ').ToPsList().NullIfEmpty() ?? "''"}"); + sb.AppendLine($@"{Indent}{Indent}{Indent}LicenseUri = '{"https://aka.ms/azps-license"}'"); + sb.AppendLine($@"{Indent}{Indent}{Indent}ProjectUri = '{"https://github.com/Azure/azure-powershell"}'"); + sb.AppendLine($@"{Indent}{Indent}{Indent}ReleaseNotes = ''"); + var profilesList = ""; + if (IsAzure && !String.IsNullOrEmpty(profilesList)) + { + sb.AppendLine($@"{Indent}{Indent}{Indent}Profiles = {profilesList}"); + } + + sb.AppendLine($@"{Indent}{Indent}}}"); + sb.AppendLine($@"{Indent}}}"); + sb.AppendLine(@"}"); + + File.WriteAllText(Psd1Path, sb.ToString()); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/azstackhci-powershell/internal/Az.StackHCIVm.internal.psm1 b/azstackhci-powershell/internal/Az.StackHCIVm.internal.psm1 new file mode 100644 index 000000000000..9f85ae0507b4 --- /dev/null +++ b/azstackhci-powershell/internal/Az.StackHCIVm.internal.psm1 @@ -0,0 +1,38 @@ +# region Generated + # Load the private module dll + $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.StackHCIVM.private.dll') + + # Get the private module's instance + $instance = [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module]::Instance + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export proxy cmdlet scripts + $exportsPath = $PSScriptRoot + $directories = Get-ChildItem -Directory -Path $exportsPath + $profileDirectory = $null + if($instance.ProfileName) { + if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { + $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } + } else { + # Don't export anything if the profile doesn't exist for the module + $exportsPath = $null + Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." + } + } elseif(($directories | Measure-Object).Count -gt 0) { + # Load the last folder if no profile is selected + $profileDirectory = $directories | Select-Object -Last 1 + } + + if($profileDirectory) { + Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" + $exportsPath = $profileDirectory.FullName + } + + if($exportsPath) { + Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath + Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) + } +# endregion diff --git a/azstackhci-powershell/internal/Get-AzStackHciVMOperation.ps1 b/azstackhci-powershell/internal/Get-AzStackHciVMOperation.ps1 new file mode 100644 index 000000000000..a438af34fcde --- /dev/null +++ b/azstackhci-powershell/internal/Get-AzStackHciVMOperation.ps1 @@ -0,0 +1,125 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a list of hybrid compute operations. +.Description +Gets a list of hybrid compute operations. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmoperation +#> +function Get-AzStackHCIVMOperation { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMOperation_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} diff --git a/azstackhci-powershell/internal/ProxyCmdletDefinitions.ps1 b/azstackhci-powershell/internal/ProxyCmdletDefinitions.ps1 new file mode 100644 index 000000000000..22bc780ba6f4 --- /dev/null +++ b/azstackhci-powershell/internal/ProxyCmdletDefinitions.ps1 @@ -0,0 +1,10446 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets an Agent Version along with the download link currently present. +.Description +Gets an Agent Version along with the download link currently present. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IAgentVersion +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IAgentVersionsList +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +OSTYPEINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmagentversion +#> +function Get-AzStackHCIVMAgentVersion { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IAgentVersion], [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IAgentVersionsList])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Defines the os type + ${OSType}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityOSType', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Defines the agent version. + # To get latest, use latest or else a specific agent version. + ${Version}, + + [Parameter(ParameterSetName='GetViaIdentityOSType', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for OSTYPEINPUTOBJECT properties and create a hash table. + ${OSTypeInputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMAgentVersion_Get'; + GetViaIdentityOSType = 'Az.StackHCIVM.private\Get-AzStackHCIVMAgentVersion_GetViaIdentityOSType'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMAgentVersion_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Gets an Extension Metadata based on location, publisher, extensionType and version +.Description +Gets an Extension Metadata based on location, publisher, extensionType and version +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IExtensionValue +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +EXTENSIONTYPEINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk + +LOCATIONINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk + +PUBLISHERINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmextensionmetadata +#> +function Get-AzStackHCIVMExtensionMetadata { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IExtensionValue])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityLocation', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityPublisher', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The extensionType of the Extension being received. + ${ExtensionType}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The location of the Extension being received. + ${Location}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityLocation', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The publisher of the Extension being received. + ${Publisher}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityExtensionType', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityLocation', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityPublisher', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The version of the Extension being received. + ${Version}, + + [Parameter(ParameterSetName='GetViaIdentityExtensionType', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for EXTENSIONTYPEINPUTOBJECT properties and create a hash table. + ${ExtensionTypeInputObject}, + + [Parameter(ParameterSetName='GetViaIdentityLocation', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for LOCATIONINPUTOBJECT properties and create a hash table. + ${LocationInputObject}, + + [Parameter(ParameterSetName='GetViaIdentityPublisher', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for PUBLISHERINPUTOBJECT properties and create a hash table. + ${PublisherInputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_Get'; + GetViaIdentityExtensionType = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_GetViaIdentityExtensionType'; + GetViaIdentityLocation = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_GetViaIdentityLocation'; + GetViaIdentityPublisher = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_GetViaIdentityPublisher'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Gets a gallery image +.Description +Gets a gallery image +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmgalleryimage +#> +function Get-AzStackHCIVMGalleryImage { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('GalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the gallery image + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMGalleryImage_Get'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMGalleryImage_List'; + List1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMGalleryImage_List1'; + } + if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Implements GuestAgent GET method. +.Description +Implements GuestAgent GET method. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmguestagent +#> +function Get-AzStackHCIVMGuestAgent { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMGuestAgent_Get'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMGuestAgent_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Implements HybridIdentityMetadata GET method. +.Description +Implements HybridIdentityMetadata GET method. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataAutoGenerated +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +MACHINEINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmhybrididentitymetadata +#> +function Get-AzStackHCIVMHybridIdentityMetadata { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata], [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataAutoGenerated])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the hybrid machine. + ${MachineName}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityMachine', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the HybridIdentityMetadata. + ${MetadataName}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get1')] + [Parameter(ParameterSetName='List1')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentityMachine', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. + ${MachineInputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_Get'; + Get1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_Get1'; + GetViaIdentityMachine = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_GetViaIdentityMachine'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_List'; + List1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_List1'; + } + if (('Get1', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to get the extension. +.Description +The operation to get the extension. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +MACHINEINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmmachineextension +#> +function Get-AzStackHCIVMMachineExtension { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='GetViaIdentityMachine', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine extension. + ${ExtensionName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine containing the extension. + ${MachineName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentityMachine', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. + ${MachineInputObject}, + + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Query')] + [System.String] + # The expand expression to apply on the operation. + ${Expand}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachineExtension_Get'; + GetViaIdentityMachine = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachineExtension_GetViaIdentityMachine'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachineExtension_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Retrieves information about the model view or the instance view of a hybrid machine. +.Description +Retrieves information about the model view or the instance view of a hybrid machine. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmmachine +#> +function Get-AzStackHCIVMMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('MachineName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the hybrid machine. + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("instanceView")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Query')] + [System.String] + # The expand expression to apply on the operation. + ${Expand}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachine_Get'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachine_List'; + List1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachine_List1'; + } + if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Gets a marketplace gallery image +.Description +Gets a marketplace gallery image +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmmarketplacegalleryimage +#> +function Get-AzStackHCIVMMarketplaceGalleryImage { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('MarketplaceGalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the marketplace gallery image + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMMarketplaceGalleryImage_Get'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMMarketplaceGalleryImage_List'; + List1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMMarketplaceGalleryImage_List1'; + } + if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to get network information of hybrid machine +.Description +The operation to get network information of hybrid machine +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfile +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmnetworkprofile +#> +function Get-AzStackHCIVMNetworkProfile { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfile])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the hybrid machine. + ${MachineName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMNetworkProfile_Get'; + } + if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Gets a list of hybrid compute operations. +.Description +Gets a list of hybrid compute operations. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmoperation +#> +function Get-AzStackHCIVMOperation { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMOperation_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Gets a virtual machine instance +.Description +Gets a virtual machine instance +.Example +Get-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" +.Example +Get-AzStackHCIVMVirtualMachine -ResourceGroupName "test-rg" + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmvirtualmachine +#> +function Get-AzStackHCIVMVirtualMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMVirtualMachine_Get'; + List = 'Az.StackHCIVM.private\Get-AzStackHCIVMVirtualMachine_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a gallery image. +Please note some properties can be set only during gallery image creation. +.Description +The operation to Create a gallery image. +Please note some properties can be set only during gallery image creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmgalleryimage +#> +function New-AzStackHCIVMGalleryImage { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('GalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the gallery image + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] + ${CloudInitDataSource}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${CustomLocationId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The hypervisor generation of the Virtual Machine [V1, V2] + ${HyperVGeneration}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # location of the image the gallery image should be created from + ${ImagePath}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Operating system type that the gallery image uses [Windows, Linux] + ${OSType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition offer. + ${Offer}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition publisher. + ${Publisher}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition SKU. + ${Sku}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Storage ContainerID of the storage container to be used for gallery image + ${StoragePathId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # This is the version of the gallery image. + ${Version}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMGalleryImage_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMGalleryImage_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMGalleryImage_CreateViaJsonString'; + } + if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { + $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create GuestAgent. +.Description +Create GuestAgent. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmguestagent +#> +function New-AzStackHCIVMGuestAgent { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The password to connect with the guest. + ${CredentialsPassword}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The username to connect with the guest. + ${CredentialsUsername}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("install", "uninstall", "repair")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The guest agent provisioning action. + ${ProvisioningAction}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMGuestAgent_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMGuestAgent_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMGuestAgent_CreateViaJsonString'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a logical network. +Please note some properties can be set only during logical network creation. +.Description +The operation to Create a logical network. +Please note some properties can be set only during logical network creation. +.Example +New-AzStackHCIVMLogicalNetwork -Name "testLnet" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -VmSwitchName "testswitch" + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +SUBNET : Subnet - list of subnets under the logical network + [AddressPrefix ]: The address prefix for the subnet: Cidr for this subnet - IPv4, IPv6. + [AddressPrefixes >]: List of address prefixes for the subnet. + [IPAllocationMethod ]: IPAllocationMethod - The IP address allocation method. Possible values include: 'Static', 'Dynamic' + [IPConfigurationReference >]: IPConfigurationReferences - list of IPConfigurationReferences + [Id ]: IPConfigurationID + [IPPool >]: network associated pool of IP Addresses + [End ]: End of the IP address pool + [Name ]: Name of the IP-Pool + [Start ]: Start of the IP address pool + [Type ]: Type of the IP Pool [vm, vippool] + [Name ]: Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + [Route >]: Collection of routes contained within a route table. + [AddressPrefix ]: The destination CIDR to which the route applies. + [Name ]: Name - name of the subnet + [NextHopIPAddress ]: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + [Vlan ]: Vlan to use for the subnet +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmlogicalnetwork +#> +function New-AzStackHCIVMLogicalNetwork { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('LogicalNetworkName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the logical network + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${CustomLocationId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String[]] + # The list of DNS servers IP addresses. + ${DnsServer}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet[]] + # Subnet - list of subnets under the logical network + # To construct, see NOTES section for SUBNET properties and create a hash table. + ${Subnet}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # name of the network switch to be used for VMs + ${VMSwitchName}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMLogicalNetwork_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMLogicalNetwork_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMLogicalNetwork_CreateViaJsonString'; + } + if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { + $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create the extension. +.Description +The operation to Create the extension. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +EXTENSIONPARAMETER : Describes a Machine Extension. + Location : The geo-location where the resource lives + [Tag ]: Resource tags. + [(Any) ]: This indicates any property can be added to this object. + [AutoUpgradeMinorVersion ]: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + [EnableAutomaticUpgrade ]: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. + [ForceUpdateTag ]: How the extension handler should be forced to update even if the extension configuration has not changed. + [InstanceViewName ]: The machine extension name. + [InstanceViewType ]: Specifies the type of the extension; an example is "CustomScriptExtension". + [InstanceViewTypeHandlerVersion ]: Specifies the version of the script handler. + [PropertiesType ]: Specifies the type of the extension; an example is "CustomScriptExtension". + [ProtectedSetting ]: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + [(Any) ]: This indicates any property can be added to this object. + [Publisher ]: The name of the extension handler publisher. + [Setting ]: Json formatted public settings for the extension. + [(Any) ]: This indicates any property can be added to this object. + [StatusCode ]: The status code. + [StatusDisplayStatus ]: The short localizable label for the status. + [StatusLevel ]: The level code. + [StatusMessage ]: The detailed status message, including for alerts and error messages. + [StatusTime ]: The time of the status. + [TypeHandlerVersion ]: Specifies the version of the script handler. + +MACHINEINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmmachineextension +#> +function New-AzStackHCIVMMachineExtension { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine extension. + ${ExtensionName}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine where the extension should be created or updated. + ${MachineName}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaJsonFilePath')] + [Parameter(ParameterSetName='CreateViaJsonString')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CreateViaIdentityMachine', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. + ${MachineInputObject}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Indicates whether the extension should use a newer minor version if one is available at deployment time. + # Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + ${AutoUpgradeMinorVersion}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. + ${EnableAutomaticUpgrade}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # How the extension handler should be forced to update even if the extension configuration has not changed. + ${ForceUpdateTag}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The machine extension name. + ${InstanceViewName}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the type of the extension; an example is "CustomScriptExtension". + ${InstanceViewType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the version of the script handler. + ${InstanceViewTypeHandlerVersion}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the type of the extension; an example is "CustomScriptExtension". + ${PropertiesType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionPropertiesProtectedSettings]))] + [System.Collections.Hashtable] + # The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + ${ProtectedSetting}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extension handler publisher. + ${Publisher}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionPropertiesSettings]))] + [System.Collections.Hashtable] + # Json formatted public settings for the extension. + ${Setting}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The status code. + ${StatusCode}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The short localizable label for the status. + ${StatusDisplayStatus}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Info", "Warning", "Error")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The level code. + ${StatusLevel}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The detailed status message, including for alerts and error messages. + ${StatusMessage}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.DateTime] + # The time of the status. + ${StatusTime}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the version of the script handler. + ${TypeHandlerVersion}, + + [Parameter(ParameterSetName='CreateViaIdentityMachine', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension] + # Describes a Machine Extension. + # To construct, see NOTES section for EXTENSIONPARAMETER properties and create a hash table. + ${ExtensionParameter}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateExpanded'; + CreateViaIdentityMachine = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateViaIdentityMachine'; + CreateViaIdentityMachineExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateViaIdentityMachineExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateViaJsonString'; + } + if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a hybrid machine. +Please note some properties can be set only during machine creation. +.Description +The operation to Create a hybrid machine. +Please note some properties can be set only during machine creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +EXTENSION : Machine Extensions information (deprecated field) + [Name ]: The machine extension name. + [StatusCode ]: The status code. + [StatusDisplayStatus ]: The short localizable label for the status. + [StatusLevel ]: The level code. + [StatusMessage ]: The detailed status message, including for alerts and error messages. + [StatusTime ]: The time of the status. + [Type ]: Specifies the type of the extension; an example is "CustomScriptExtension". + [TypeHandlerVersion ]: Specifies the version of the script handler. +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmmachine +#> +function New-AzStackHCIVMMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('MachineName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the hybrid machine. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The correlation ID passed in from RSM per upgrade. + ${AgentUpgradeCorrelationId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the version info w.r.t AgentUpgrade for the machine. + ${AgentUpgradeDesiredVersion}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies if RSM should try to upgrade this machine + ${AgentUpgradeEnableAutomaticUpgrade}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Public Key that the client provides to be used during initial resource onboarding + ${ClientPublicKey}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionInstanceView[]] + # Machine Extensions information (deprecated field) + # To construct, see NOTES section for EXTENSION properties and create a hash table. + ${Extension}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The behavior of the service when the Arc-enabled machine starts up. + ${ExtensionServiceStartupType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The current status of the service. + ${ExtensionServiceStatus}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The behavior of the service when the Arc-enabled machine starts up. + ${GuestConfigurationServiceStartupType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The current status of the service. + ${GuestConfigurationServiceStatus}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The identity type. + ${IdentityType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("AVS", "HCI", "SCVMM", "VMware")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. + ${Kind}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the assessment mode. + ${LinuxConfigurationPatchSettingsAssessmentMode}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the patch mode. + ${LinuxConfigurationPatchSettingsPatchMode}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The city or locality where the resource is located. + ${LocationDataCity}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The country or region where the resource is located + ${LocationDataCountryOrRegion}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The district, state, or province where the resource is located. + ${LocationDataDistrict}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # A canonical name for the geographic or physical location. + ${LocationDataName}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies whether any MS SQL instance is discovered on the machine. + ${MssqlDiscovered}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of Operating System (windows/linux). + ${OSType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. + ${ParentClusterResourceId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The resource id of the private link scope this machine is assigned to, if any. + ${PrivateLinkScopeResourceId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the hybrid machine unique ID. + ${VMId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the assessment mode. + ${WindowsConfigurationPatchSettingsAssessmentMode}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the patch mode. + ${WindowsConfigurationPatchSettingsPatchMode}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMMachine_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMMachine_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMMachine_CreateViaJsonString'; + } + if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a marketplace gallery image. +Please note some properties can be set only during marketplace gallery image creation. +.Description +The operation to Create a marketplace gallery image. +Please note some properties can be set only during marketplace gallery image creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmmarketplacegalleryimage +#> +function New-AzStackHCIVMMarketplaceGalleryImage { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('MarketplaceGalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the marketplace gallery image + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] + ${CloudInitDataSource}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${CustomLocationId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The hypervisor generation of the Virtual Machine [V1, V2] + ${HyperVGeneration}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Operating system type that the gallery image uses [Windows, Linux] + ${OSType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition offer. + ${Offer}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition publisher. + ${Publisher}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition SKU. + ${Sku}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Storage ContainerID of the storage container to be used for marketplace gallery image + ${StoragePathId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # This is the version of the gallery image. + ${Version}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMMarketplaceGalleryImage_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString'; + } + if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { + $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a network interface. +Please note some properties can be set only during network interface creation. +.Description +The operation to Create a network interface. +Please note some properties can be set only during network interface creation. +.Example +New-AzStackHCIVMNetworkInterface -Name "testNic" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -SubnetName "testLnet" + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +IPCONFIGURATION : IPConfigurations - A list of IPConfigurations of the network interface. + [IPAddress ]: PrivateIPAddress - Private IP address of the IP configuration. + [Name ]: Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + [SubnetId ]: ID - The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmnetworkinterface +#> +function New-AzStackHCIVMNetworkInterface { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('NetworkInterfaceName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the network interface + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${CustomLocationId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String[]] + # List of DNS server IP Addresses for the interface + ${DnsServer}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration[]] + # IPConfigurations - A list of IPConfigurations of the network interface. + # To construct, see NOTES section for IPCONFIGURATION properties and create a hash table. + ${IPConfiguration}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # MacAddress - The MAC address of the network interface. + ${MacAddress}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMNetworkInterface_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMNetworkInterface_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMNetworkInterface_CreateViaJsonString'; + } + if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { + $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a storage container. +Please note some properties can be set only during storage container creation. +.Description +The operation to Create a storage container. +Please note some properties can be set only during storage container creation. +.Example +New-AzStackHCIVMStoragePath -Name "testStoragePath" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}"-Location "eastus" -Path "C:\ClusterStorage\Volume1\testpath" + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmstoragepath +#> +function New-AzStackHCIVMStoragePath { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('StorageContainerName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the storage container + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${CustomLocationId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of the storage container on the disk + ${Path}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMStoragePath_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMStoragePath_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMStoragePath_CreateViaJsonString'; + } + if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { + $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a virtual hard disk. +Please note some properties can be set only during virtual hard disk creation. +.Description +The operation to Create a virtual hard disk. +Please note some properties can be set only during virtual hard disk creation. +.Example +New-AzStackHCIVMVirtualHardDisk -Name "testVhd" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -SizeGb 2 + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmvirtualharddisk +#> +function New-AzStackHCIVMVirtualHardDisk { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('VirtualHardDiskName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the virtual hard disk + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # . + ${BlockSizeByte}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${CustomLocationId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("vhdx", "vhd")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The format of the actual VHD file [vhd, vhdx] + ${DiskFileFormat}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Boolean for enabling dynamic sizing on the virtual hard disk + ${Dynamic}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The hypervisor generation of the Virtual Machine [V1, V2] + ${HyperVGeneration}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # . + ${LogicalSectorByte}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # . + ${PhysicalSectorByte}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # Size of the disk in GB + ${SizeGb}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Storage ContainerID of the storage container to be used for VHD + ${StoragePathId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualHardDisk_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualHardDisk_CreateViaJsonString'; + } + if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { + $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a virtual machine instance. +Please note some properties can be set only during virtual machine instance creation. +.Description +The operation to Create a virtual machine instance. +Please note some properties can be set only during virtual machine instance creation. +.Example +New-AzStackHCIVMVirtualMachine -Name "testVm" -OsType "Linux" -ImageName "testImage" -VmSize "Standard_K8S_v1" -AdminUsername "localadmin" -ComputerName "testVm" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" +.Example +New-AzStackHCIVMVirtualMachine -Name "testVm" -OsType "Linux" -OsDiskName "testOsDisk" -VmSize "Standard_K8S_v1" -AdminUsername "localadmin" -ComputerName "testVm" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +LINUXCONFIGURATIONSSHPUBLICKEY : The list of SSH public keys used to authenticate with linux based VMs. + [KeyData ]: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + [Path ]: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + +NETWORKPROFILENETWORKINTERFACE : NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + [Id ]: ID - Resource Id of the network interface + +STORAGEPROFILEDATADISK : adds data disks to the virtual machine instance + [Id ]: Resource ID of the data disk + +WINDOWSCONFIGURATIONSSHPUBLICKEY : The list of SSH public keys used to authenticate with linux based VMs. + [KeyData ]: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + [Path ]: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmvirtualmachine +#> +function New-AzStackHCIVMVirtualMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # AdminPassword - admin password + ${AdminPassword}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # AdminUsername - admin username + ${AdminUsername}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # ComputerName - name of the compute + ${ComputerName}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${CustomLocationId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # DisablePasswordAuthentication - whether password authentication should be disabled + ${DisablePasswordAuthentication}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # . + ${DynamicMemoryMaximumMemoryInMb}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # . + ${DynamicMemoryMinimumMemoryInMb}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. + # This only applies to virtual systems with dynamic memory enabled. + # This property can be in the range of 5 to 2000. + ${DynamicMemoryTargetBuffer}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Whether to EnableAutomaticUpdates on the machine + ${EnableAutomaticUpdate}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableTpm}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The HTTP proxy server endpoint to use. + ${HttpProxyConfigHttpProxy}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The HTTPS proxy server endpoint to use. + ${HttpProxyConfigHttpsProxy}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String[]] + # The endpoints that should not go through proxy. + ${HttpProxyConfigNoProxy}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Alternative CA cert to use for connecting to proxy servers. + ${HttpProxyConfigTrustedCa}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The identity type. + ${IdentityType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Resource ID of the image + ${ImageId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. + ${LinuxConfigurationProvisionVMAgent}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + ${LinuxConfigurationProvisionVMConfigAgent}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[]] + # The list of SSH public keys used to authenticate with linux based VMs. + # To construct, see NOTES section for LINUXCONFIGURATIONSSHPUBLICKEY properties and create a hash table. + ${LinuxConfigurationSshPublicKey}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem[]] + # NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + # To construct, see NOTES section for NETWORKPROFILENETWORKINTERFACE properties and create a hash table. + ${NetworkProfileNetworkInterface}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Resource ID of the OS disk + ${OSDiskId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. + # Possible values are: **Windows,** **Linux.** + ${OSDiskOstype}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Unique identifier defined by ARC to identify the guest of the VM. + ${ResourceUid}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies whether secure boot should be enabled on the virtual machine instance. + ${SecureBootEnabled}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("TrustedLaunch", "ConfidentialVM")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the SecurityType of the virtual machine. + # EnableTPM and SecureBootEnabled must be set to true for SecurityType to function. + ${SecurityProfileSecurityType}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Id of the storage container that hosts the VM configuration file + ${StoragePathId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem[]] + # adds data disks to the virtual machine instance + # To construct, see NOTES section for STORAGEPROFILEDATADISK properties and create a hash table. + ${StorageProfileDataDisk}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # TimeZone for the virtual machine instance + ${TimeZone}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # RAM in MB for the virtual machine instance + ${VmMemory}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # number of processors for the virtual machine instance + ${VmProcessor}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # . + ${VmSize}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. + ${WindowConfigurationProvisionVMAgent}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + ${WindowConfigurationProvisionVMConfigAgent}, + + [Parameter(ParameterSetName='CreateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[]] + # The list of SSH public keys used to authenticate with linux based VMs. + # To construct, see NOTES section for WINDOWSCONFIGURATIONSSHPUBLICKEY properties and create a hash table. + ${WindowsConfigurationSshPublicKey}, + + [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Create operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Create operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualMachine_CreateExpanded'; + CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualMachine_CreateViaJsonFilePath'; + CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualMachine_CreateViaJsonString'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { + $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete a gallery image. +.Description +The operation to delete a gallery image. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmgalleryimage +#> +function Remove-AzStackHCIVMGalleryImage { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('GalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the gallery image + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMGalleryImage_Delete'; + DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMGalleryImage_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Implements GuestAgent DELETE method. +.Description +Implements GuestAgent DELETE method. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +System.Boolean +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmguestagent +#> +function Remove-AzStackHCIVMGuestAgent { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMGuestAgent_Delete'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete a logical network. +.Description +The operation to delete a logical network. +.Example +Remove-AzStackHCIVMLogicalNetwork -Name "testLnet" -ResourceGroupName "test-rg" + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmlogicalnetwork +#> +function Remove-AzStackHCIVMLogicalNetwork { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('LogicalNetworkName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the logical network + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMLogicalNetwork_Delete'; + DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMLogicalNetwork_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete the extension. +.Description +The operation to delete the extension. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk + +MACHINEINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmmachineextension +#> +function Remove-AzStackHCIVMMachineExtension { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Parameter(ParameterSetName='DeleteViaIdentityMachine', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine extension. + ${ExtensionName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine where the extension should be deleted. + ${MachineName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='DeleteViaIdentityMachine', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. + ${MachineInputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachineExtension_Delete'; + DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachineExtension_DeleteViaIdentity'; + DeleteViaIdentityMachine = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachineExtension_DeleteViaIdentityMachine'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete a hybrid machine. +.Description +The operation to delete a hybrid machine. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmmachine +#> +function Remove-AzStackHCIVMMachine { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('MachineName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the hybrid machine. + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachine_Delete'; + DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachine_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete a marketplace gallery image. +.Description +The operation to delete a marketplace gallery image. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmmarketplacegalleryimage +#> +function Remove-AzStackHCIVMMarketplaceGalleryImage { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('MarketplaceGalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the marketplace gallery image + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMarketplaceGalleryImage_Delete'; + DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete a network interface. +.Description +The operation to delete a network interface. +.Example +Remove-AzStackHCIVMLogicalNetwork -Name "testNic" -ResourceGroupName "test-rg" + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmnetworkinterface +#> +function Remove-AzStackHCIVMNetworkInterface { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('NetworkInterfaceName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the network interface + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMNetworkInterface_Delete'; + DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMNetworkInterface_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete a storage container. +.Description +The operation to delete a storage container. +.Example + Remove-AzStackHCIVMStoragePath -Name "testStoragePath" -ResourceGroupName "test-rg" + + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmstoragepath +#> +function Remove-AzStackHCIVMStoragePath { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('StorageContainerName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the storage container + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMStoragePath_Delete'; + DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMStoragePath_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete a virtual hard disk. +.Description +The operation to delete a virtual hard disk. +.Example +Remove-AzStackHCIVMVirtualHardDisk -Name "testVhd" -ResourceGroupName "test-rg" + + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmvirtualharddisk +#> +function Remove-AzStackHCIVMVirtualHardDisk { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('VirtualHardDiskName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the virtual hard disk + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMVirtualHardDisk_Delete'; + DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMVirtualHardDisk_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to delete a virtual machine instance. +.Description +The operation to delete a virtual machine instance. +.Example +Remove-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" + + +.Outputs +System.Boolean +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmvirtualmachine +#> +function Remove-AzStackHCIVMVirtualMachine { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMVirtualMachine_Delete'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to restart a virtual machine instance. +.Description +The operation to restart a virtual machine instance. +.Example +Restart-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" + + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/restart-azstackhcivmvirtualmachine +#> +function Restart-AzStackHCIVMVirtualMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] +[CmdletBinding(DefaultParameterSetName='Restart', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Restart = 'Az.StackHCIVM.private\Restart-AzStackHCIVMVirtualMachine_Restart'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a gallery image. +Please note some properties can be set only during gallery image creation. +.Description +The operation to Create a gallery image. +Please note some properties can be set only during gallery image creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmgalleryimage +#> +function Set-AzStackHCIVMGalleryImage { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('GalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the gallery image + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] + ${CloudInitDataSource}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Storage ContainerID of the storage container to be used for gallery image + ${ContainerId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${ExtendedLocationName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of the extended location. + ${ExtendedLocationType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The hypervisor generation of the Virtual Machine [V1, V2] + ${HyperVGeneration}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition offer. + ${IdentifierOffer}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition publisher. + ${IdentifierPublisher}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition SKU. + ${IdentifierSku}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # location of the image the gallery image should be created from + ${ImagePath}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Operating system type that the gallery image uses [Windows, Linux] + ${OSType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # This is the version of the gallery image. + ${VersionName}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMGalleryImage_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMGalleryImage_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMGalleryImage_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a logical network. +Please note some properties can be set only during logical network creation. +.Description +The operation to Create a logical network. +Please note some properties can be set only during logical network creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +SUBNET : Subnet - list of subnets under the logical network + [AddressPrefix ]: The address prefix for the subnet: Cidr for this subnet - IPv4, IPv6. + [AddressPrefixes >]: List of address prefixes for the subnet. + [IPAllocationMethod ]: IPAllocationMethod - The IP address allocation method. Possible values include: 'Static', 'Dynamic' + [IPConfigurationReference >]: IPConfigurationReferences - list of IPConfigurationReferences + [Id ]: IPConfigurationID + [IPPool >]: network associated pool of IP Addresses + [End ]: End of the IP address pool + [Name ]: Name of the IP-Pool + [Start ]: Start of the IP address pool + [Type ]: Type of the IP Pool [vm, vippool] + [Name ]: Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + [Route >]: Collection of routes contained within a route table. + [AddressPrefix ]: The destination CIDR to which the route applies. + [Name ]: Name - name of the subnet + [NextHopIPAddress ]: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + [Vlan ]: Vlan to use for the subnet +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmlogicalnetwork +#> +function Set-AzStackHCIVMLogicalNetwork { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('LogicalNetworkName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the logical network + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String[]] + # The list of DNS servers IP addresses. + ${DhcpOptionDnsServer}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${ExtendedLocationName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of the extended location. + ${ExtendedLocationType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet[]] + # Subnet - list of subnets under the logical network + # To construct, see NOTES section for SUBNET properties and create a hash table. + ${Subnet}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # name of the network switch to be used for VMs + ${VMSwitchName}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMLogicalNetwork_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMLogicalNetwork_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create the extension. +.Description +The operation to Create the extension. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmmachineextension +#> +function Set-AzStackHCIVMMachineExtension { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine extension. + ${ExtensionName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine where the extension should be created or updated. + ${MachineName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Indicates whether the extension should use a newer minor version if one is available at deployment time. + # Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + ${AutoUpgradeMinorVersion}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. + ${EnableAutomaticUpgrade}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # How the extension handler should be forced to update even if the extension configuration has not changed. + ${ForceUpdateTag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The machine extension name. + ${InstanceViewName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the type of the extension; an example is "CustomScriptExtension". + ${InstanceViewType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the version of the script handler. + ${InstanceViewTypeHandlerVersion}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the type of the extension; an example is "CustomScriptExtension". + ${PropertiesType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionPropertiesProtectedSettings]))] + [System.Collections.Hashtable] + # The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + ${ProtectedSetting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extension handler publisher. + ${Publisher}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionPropertiesSettings]))] + [System.Collections.Hashtable] + # Json formatted public settings for the extension. + ${Setting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The status code. + ${StatusCode}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The short localizable label for the status. + ${StatusDisplayStatus}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Info", "Warning", "Error")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The level code. + ${StatusLevel}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The detailed status message, including for alerts and error messages. + ${StatusMessage}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.DateTime] + # The time of the status. + ${StatusTime}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the version of the script handler. + ${TypeHandlerVersion}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachineExtension_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachineExtension_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachineExtension_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a hybrid machine. +Please note some properties can be set only during machine creation. +.Description +The operation to Create a hybrid machine. +Please note some properties can be set only during machine creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +EXTENSION : Machine Extensions information (deprecated field) + [Name ]: The machine extension name. + [StatusCode ]: The status code. + [StatusDisplayStatus ]: The short localizable label for the status. + [StatusLevel ]: The level code. + [StatusMessage ]: The detailed status message, including for alerts and error messages. + [StatusTime ]: The time of the status. + [Type ]: Specifies the type of the extension; an example is "CustomScriptExtension". + [TypeHandlerVersion ]: Specifies the version of the script handler. +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmmachine +#> +function Set-AzStackHCIVMMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('MachineName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the hybrid machine. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The correlation ID passed in from RSM per upgrade. + ${AgentUpgradeCorrelationId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the version info w.r.t AgentUpgrade for the machine. + ${AgentUpgradeDesiredVersion}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies if RSM should try to upgrade this machine + ${AgentUpgradeEnableAutomaticUpgrade}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Public Key that the client provides to be used during initial resource onboarding + ${ClientPublicKey}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionInstanceView[]] + # Machine Extensions information (deprecated field) + # To construct, see NOTES section for EXTENSION properties and create a hash table. + ${Extension}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The behavior of the service when the Arc-enabled machine starts up. + ${ExtensionServiceStartupType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The current status of the service. + ${ExtensionServiceStatus}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The behavior of the service when the Arc-enabled machine starts up. + ${GuestConfigurationServiceStartupType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The current status of the service. + ${GuestConfigurationServiceStatus}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The identity type. + ${IdentityType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("AVS", "HCI", "SCVMM", "VMware")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. + ${Kind}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the assessment mode. + ${LinuxConfigurationPatchSettingsAssessmentMode}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the patch mode. + ${LinuxConfigurationPatchSettingsPatchMode}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The city or locality where the resource is located. + ${LocationDataCity}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The country or region where the resource is located + ${LocationDataCountryOrRegion}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The district, state, or province where the resource is located. + ${LocationDataDistrict}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # A canonical name for the geographic or physical location. + ${LocationDataName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies whether any MS SQL instance is discovered on the machine. + ${MssqlDiscovered}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of Operating System (windows/linux). + ${OSType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. + ${ParentClusterResourceId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The resource id of the private link scope this machine is assigned to, if any. + ${PrivateLinkScopeResourceId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the hybrid machine unique ID. + ${VMId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the assessment mode. + ${WindowsConfigurationPatchSettingsAssessmentMode}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the patch mode. + ${WindowsConfigurationPatchSettingsPatchMode}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachine_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachine_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachine_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a marketplace gallery image. +Please note some properties can be set only during marketplace gallery image creation. +.Description +The operation to Create a marketplace gallery image. +Please note some properties can be set only during marketplace gallery image creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmmarketplacegalleryimage +#> +function Set-AzStackHCIVMMarketplaceGalleryImage { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('MarketplaceGalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the marketplace gallery image + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] + ${CloudInitDataSource}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Storage ContainerID of the storage container to be used for marketplace gallery image + ${ContainerId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${ExtendedLocationName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of the extended location. + ${ExtendedLocationType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The hypervisor generation of the Virtual Machine [V1, V2] + ${HyperVGeneration}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition offer. + ${IdentifierOffer}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition publisher. + ${IdentifierPublisher}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the gallery image definition SKU. + ${IdentifierSku}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Operating system type that the gallery image uses [Windows, Linux] + ${OSType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # This is the version of the gallery image. + ${VersionName}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMMarketplaceGalleryImage_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a network interface. +Please note some properties can be set only during network interface creation. +.Description +The operation to Create a network interface. +Please note some properties can be set only during network interface creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +IPCONFIGURATION : IPConfigurations - A list of IPConfigurations of the network interface. + [IPAddress ]: PrivateIPAddress - Private IP address of the IP configuration. + [Name ]: Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + [SubnetId ]: ID - The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmnetworkinterface +#> +function Set-AzStackHCIVMNetworkInterface { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('NetworkInterfaceName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the network interface + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String[]] + # List of DNS server IP Addresses for the interface + ${DnsSettingDnsServer}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${ExtendedLocationName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of the extended location. + ${ExtendedLocationType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration[]] + # IPConfigurations - A list of IPConfigurations of the network interface. + # To construct, see NOTES section for IPCONFIGURATION properties and create a hash table. + ${IPConfiguration}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # MacAddress - The MAC address of the network interface. + ${MacAddress}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMNetworkInterface_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMNetworkInterface_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMNetworkInterface_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a storage container. +Please note some properties can be set only during storage container creation. +.Description +The operation to Create a storage container. +Please note some properties can be set only during storage container creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmstoragecontainer +#> +function Set-AzStackHCIVMStorageContainer { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('StorageContainerName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the storage container + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${ExtendedLocationName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of the extended location. + ${ExtendedLocationType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of the storage container on the disk + ${Path}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMStorageContainer_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMStorageContainer_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMStorageContainer_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a virtual hard disk. +Please note some properties can be set only during virtual hard disk creation. +.Description +The operation to Create a virtual hard disk. +Please note some properties can be set only during virtual hard disk creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmvirtualharddisk +#> +function Set-AzStackHCIVMVirtualHardDisk { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Alias('VirtualHardDiskName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the virtual hard disk + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # . + ${BlockSizeByte}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Storage ContainerID of the storage container to be used for VHD + ${ContainerId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("vhdx", "vhd")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The format of the actual VHD file [vhd, vhdx] + ${DiskFileFormat}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # Size of the disk in GB + ${DiskSizeGb}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Boolean for enabling dynamic sizing on the virtual hard disk + ${Dynamic}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${ExtendedLocationName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of the extended location. + ${ExtendedLocationType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The hypervisor generation of the Virtual Machine [V1, V2] + ${HyperVGeneration}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # . + ${LogicalSectorByte}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # . + ${PhysicalSectorByte}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualHardDisk_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualHardDisk_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Create a virtual machine instance. +Please note some properties can be set only during virtual machine instance creation. +.Description +The operation to Create a virtual machine instance. +Please note some properties can be set only during virtual machine instance creation. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +LINUXCONFIGURATIONSSHPUBLICKEY : The list of SSH public keys used to authenticate with linux based VMs. + [KeyData ]: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + [Path ]: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + +NETWORKPROFILENETWORKINTERFACE : NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + [Id ]: ID - Resource Id of the network interface + +STORAGEPROFILEDATADISK : adds data disks to the virtual machine instance + [Id ]: Resource ID of the data disk + +WINDOWSCONFIGURATIONSSHPUBLICKEY : The list of SSH public keys used to authenticate with linux based VMs. + [KeyData ]: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + [Path ]: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmvirtualmachineinstance +#> +function Set-AzStackHCIVMVirtualMachineInstance { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. + # This only applies to virtual systems with dynamic memory enabled. + # This property can be in the range of 5 to 2000. + ${DynamicMemoryConfigTargetMemoryBuffer}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # . + ${DynamicMemoryMaximumMemoryInMb}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # . + ${DynamicMemoryMinimumMemoryInMb}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extended location. + ${ExtendedLocationName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The type of the extended location. + ${ExtendedLocationType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # RAM in MB for the virtual machine instance + ${HardwareProfileMemoryMb}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # number of processors for the virtual machine instance + ${HardwareProfileProcessor}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # . + ${HardwareProfileVMSize}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The HTTP proxy server endpoint to use. + ${HttpProxyConfigHttpProxy}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The HTTPS proxy server endpoint to use. + ${HttpProxyConfigHttpsProxy}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String[]] + # The endpoints that should not go through proxy. + ${HttpProxyConfigNoProxy}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Alternative CA cert to use for connecting to proxy servers. + ${HttpProxyConfigTrustedCa}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The identity type. + ${IdentityType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Resource ID of the image + ${ImageReferenceId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # DisablePasswordAuthentication - whether password authentication should be disabled + ${LinuxConfigurationDisablePasswordAuthentication}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. + ${LinuxConfigurationProvisionVMAgent}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + ${LinuxConfigurationProvisionVMConfigAgent}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[]] + # The list of SSH public keys used to authenticate with linux based VMs. + # To construct, see NOTES section for LINUXCONFIGURATIONSSHPUBLICKEY properties and create a hash table. + ${LinuxConfigurationSshPublicKey}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem[]] + # NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + # To construct, see NOTES section for NETWORKPROFILENETWORKINTERFACE properties and create a hash table. + ${NetworkProfileNetworkInterface}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Resource ID of the OS disk + ${OSDiskId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. + # Possible values are: **Windows,** **Linux.** + ${OSDiskOstype}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # AdminPassword - admin password + ${OSProfileAdminPassword}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # AdminUsername - admin username + ${OSProfileAdminUsername}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # ComputerName - name of the compute + ${OSProfileComputerName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Unique identifier defined by ARC to identify the guest of the VM. + ${ResourceUid}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${SecurityProfileEnableTpm}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("TrustedLaunch", "ConfidentialVM")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the SecurityType of the virtual machine. + # EnableTPM and SecureBootEnabled must be set to true for SecurityType to function. + ${SecurityProfileSecurityType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem[]] + # adds data disks to the virtual machine instance + # To construct, see NOTES section for STORAGEPROFILEDATADISK properties and create a hash table. + ${StorageProfileDataDisk}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Id of the storage container that hosts the VM configuration file + ${StorageProfileVMConfigStoragePathId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies whether secure boot should be enabled on the virtual machine instance. + ${UefiSettingSecureBootEnabled}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Whether to EnableAutomaticUpdates on the machine + ${WindowConfigurationEnableAutomaticUpdate}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. + ${WindowConfigurationProvisionVMAgent}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + ${WindowConfigurationProvisionVMConfigAgent}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # TimeZone for the virtual machine instance + ${WindowConfigurationTimeZone}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[]] + # The list of SSH public keys used to authenticate with linux based VMs. + # To construct, see NOTES section for WINDOWSCONFIGURATIONSSHPUBLICKEY properties and create a hash table. + ${WindowsConfigurationSshPublicKey}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualMachineInstance_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualMachineInstance_UpdateViaJsonString'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to start a virtual machine instance. +.Description +The operation to start a virtual machine instance. +.Example +Start-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" + + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/start-azstackhcivmvirtualmachine +#> +function Start-AzStackHCIVMVirtualMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] +[CmdletBinding(DefaultParameterSetName='Start', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Start = 'Az.StackHCIVM.private\Start-AzStackHCIVMVirtualMachine_Start'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to stop a virtual machine instance. +.Description +The operation to stop a virtual machine instance. +.Example +Stop-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" + + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/stop-azstackhcivmvirtualmachine +#> +function Stop-AzStackHCIVMVirtualMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] +[CmdletBinding(DefaultParameterSetName='Stop', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Stop = 'Az.StackHCIVM.private\Stop-AzStackHCIVMVirtualMachine_Stop'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Upgrade Machine Extensions. +.Description +The operation to Upgrade Machine Extensions. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +EXTENSIONUPGRADEPARAMETER : Describes the Machine Extension Upgrade Properties. + [ExtensionTarget ]: Describes the Extension Target Properties. + [(Any) ]: This indicates any property can be added to this object. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmextension +#> +function Update-AzStackHCIVMExtension { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='UpgradeExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Upgrade', Mandatory)] + [Parameter(ParameterSetName='UpgradeExpanded', Mandatory)] + [Parameter(ParameterSetName='UpgradeViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpgradeViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the hybrid machine. + ${MachineName}, + + [Parameter(ParameterSetName='Upgrade', Mandatory)] + [Parameter(ParameterSetName='UpgradeExpanded', Mandatory)] + [Parameter(ParameterSetName='UpgradeViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpgradeViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Upgrade')] + [Parameter(ParameterSetName='UpgradeExpanded')] + [Parameter(ParameterSetName='UpgradeViaJsonFilePath')] + [Parameter(ParameterSetName='UpgradeViaJsonString')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpgradeViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpgradeViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Upgrade', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpgradeViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade] + # Describes the Machine Extension Upgrade Properties. + # To construct, see NOTES section for EXTENSIONUPGRADEPARAMETER properties and create a hash table. + ${ExtensionUpgradeParameter}, + + [Parameter(ParameterSetName='UpgradeExpanded')] + [Parameter(ParameterSetName='UpgradeViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IExtensionTarget]))] + [System.Collections.Hashtable] + # Describes the Extension Target Properties. + ${ExtensionTarget}, + + [Parameter(ParameterSetName='UpgradeViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Upgrade operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpgradeViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Upgrade operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Upgrade = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_Upgrade'; + UpgradeExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeExpanded'; + UpgradeViaIdentity = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeViaIdentity'; + UpgradeViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeViaIdentityExpanded'; + UpgradeViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeViaJsonFilePath'; + UpgradeViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeViaJsonString'; + } + if (('Upgrade', 'UpgradeExpanded', 'UpgradeViaJsonFilePath', 'UpgradeViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to update a gallery image. +.Description +The operation to update a gallery image. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmgalleryimage +#> +function Update-AzStackHCIVMGalleryImage { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Alias('GalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the gallery image + ${Name}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaJsonFilePath')] + [Parameter(ParameterSetName='UpdateViaJsonString')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags]))] + [System.Collections.Hashtable] + # Resource tags + ${Tag}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMGalleryImage_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMGalleryImage_UpdateViaIdentityExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMGalleryImage_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMGalleryImage_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create GuestAgent. +.Description +Create GuestAgent. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmguestagent +#> +function Update-AzStackHCIVMGuestAgent { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The password to connect with the guest. + ${CredentialsPassword}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The username to connect with the guest. + ${CredentialsUsername}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("install", "uninstall", "repair")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The guest agent provisioning action. + ${ProvisioningAction}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMGuestAgent_UpdateExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to Update the extension. +.Description +The operation to Update the extension. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +EXTENSIONPARAMETER : Describes a Machine Extension Update. + [Tag ]: Resource tags + [(Any) ]: This indicates any property can be added to this object. + [AutoUpgradeMinorVersion ]: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + [EnableAutomaticUpgrade ]: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. + [ForceUpdateTag ]: How the extension handler should be forced to update even if the extension configuration has not changed. + [ProtectedSetting ]: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + [(Any) ]: This indicates any property can be added to this object. + [Publisher ]: The name of the extension handler publisher. + [Setting ]: Json formatted public settings for the extension. + [(Any) ]: This indicates any property can be added to this object. + [Type ]: Specifies the type of the extension; an example is "CustomScriptExtension". + [TypeHandlerVersion ]: Specifies the version of the script handler. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk + +MACHINEINPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmmachineextension +#> +function Update-AzStackHCIVMMachineExtension { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaIdentityMachine', Mandatory)] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine extension. + ${ExtensionName}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the machine where the extension should be created or updated. + ${MachineName}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaJsonFilePath')] + [Parameter(ParameterSetName='UpdateViaJsonString')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='UpdateViaIdentityMachine', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. + ${MachineInputObject}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Indicates whether the extension should use a newer minor version if one is available at deployment time. + # Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + ${AutoUpgradeMinorVersion}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. + ${EnableAutomaticUpgrade}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # How the extension handler should be forced to update even if the extension configuration has not changed. + ${ForceUpdateTag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdatePropertiesProtectedSettings]))] + [System.Collections.Hashtable] + # The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + ${ProtectedSetting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The name of the extension handler publisher. + ${Publisher}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdatePropertiesSettings]))] + [System.Collections.Hashtable] + # Json formatted public settings for the extension. + ${Setting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IResourceUpdateTags]))] + [System.Collections.Hashtable] + # Resource tags + ${Tag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the type of the extension; an example is "CustomScriptExtension". + ${Type}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the version of the script handler. + ${TypeHandlerVersion}, + + [Parameter(ParameterSetName='UpdateViaIdentityMachine', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate] + # Describes a Machine Extension Update. + # To construct, see NOTES section for EXTENSIONPARAMETER properties and create a hash table. + ${ExtensionParameter}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaIdentityExpanded'; + UpdateViaIdentityMachine = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaIdentityMachine'; + UpdateViaIdentityMachineExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaIdentityMachineExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to update a hybrid machine. +.Description +The operation to update a hybrid machine. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmmachine +#> +function Update-AzStackHCIVMMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Alias('MachineName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the hybrid machine. + ${Name}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaJsonFilePath')] + [Parameter(ParameterSetName='UpdateViaJsonString')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The correlation ID passed in from RSM per upgrade. + ${AgentUpgradeCorrelationId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the version info w.r.t AgentUpgrade for the machine. + ${AgentUpgradeDesiredVersion}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies if RSM should try to upgrade this machine + ${AgentUpgradeEnableAutomaticUpgrade}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The identity type. + ${IdentityType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("AVS", "HCI", "SCVMM", "VMware")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. + ${Kind}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the assessment mode. + ${LinuxConfigurationPatchSettingsAssessmentMode}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the patch mode. + ${LinuxConfigurationPatchSettingsPatchMode}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The city or locality where the resource is located. + ${LocationDataCity}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The country or region where the resource is located + ${LocationDataCountryOrRegion}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The district, state, or province where the resource is located. + ${LocationDataDistrict}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # A canonical name for the geographic or physical location. + ${LocationDataName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. + ${ParentClusterResourceId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The resource id of the private link scope this machine is assigned to, if any. + ${PrivateLinkScopeResourceId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IResourceUpdateTags]))] + [System.Collections.Hashtable] + # Resource tags + ${Tag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the assessment mode. + ${WindowsConfigurationPatchSettingsAssessmentMode}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Specifies the patch mode. + ${WindowsConfigurationPatchSettingsPatchMode}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachine_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachine_UpdateViaIdentityExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachine_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachine_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to update a marketplace gallery image. +.Description +The operation to update a marketplace gallery image. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [ExtensionName ]: The name of the machine extension. + [ExtensionType ]: The extensionType of the Extension being received. + [GalleryImageName ]: Name of the gallery image + [Id ]: Resource identity path + [Location ]: The location of the Extension being received. + [LogicalNetworkName ]: Name of the logical network + [MachineName ]: The name of the hybrid machine. + [MarketplaceGalleryImageName ]: Name of the marketplace gallery image + [MetadataName ]: Name of the HybridIdentityMetadata. + [NetworkInterfaceName ]: Name of the network interface + [OSType ]: Defines the os type. + [Publisher ]: The publisher of the Extension being received. + [ResourceGroupName ]: The name of the resource group. The name is case insensitive. + [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + [StorageContainerName ]: Name of the storage container + [SubscriptionId ]: The ID of the target subscription. + [Version ]: The version of the Extension being received. + [VirtualHardDiskName ]: Name of the virtual hard disk +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmmarketplacegalleryimage +#> +function Update-AzStackHCIVMMarketplaceGalleryImage { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Alias('MarketplaceGalleryImageName')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # Name of the marketplace gallery image + ${Name}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The name of the resource group. + # The name is case insensitive. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaJsonFilePath')] + [Parameter(ParameterSetName='UpdateViaJsonString')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID of the target subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags]))] + [System.Collections.Hashtable] + # Resource tags + ${Tag}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMarketplaceGalleryImage_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString'; + } + if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +The operation to update a virtual machine instance. +.Description +The operation to update a virtual machine instance. +.Example +Update-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" -VmMemoryInMB "4" + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +NETWORKPROFILENETWORKINTERFACE : NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + [Id ]: ID - Resource ID of the network interface + +STORAGEPROFILEDATADISK : adds data disks to the virtual machine instance for the update call + [Id ]: +.Link +https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmvirtualmachine +#> +function Update-AzStackHCIVMVirtualMachine { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] + [System.String] + # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. + ${ResourceUri}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int64] + # RAM in MB for the virtual machine instance + ${HardwareProfileMemoryMb}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Int32] + # number of processors for the virtual machine instance + ${HardwareProfileProcessor}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # . + ${HardwareProfileVMSize}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # The identity type. + ${IdentityType}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. + ${LinuxConfigurationProvisionVMAgent}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + ${LinuxConfigurationProvisionVMConfigAgent}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfileUpdateNetworkInterfacesItem[]] + # NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance + # To construct, see NOTES section for NETWORKPROFILENETWORKINTERFACE properties and create a hash table. + ${NetworkProfileNetworkInterface}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # ComputerName - name of the computer + ${OSProfileComputerName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageProfileUpdateDataDisksItem[]] + # adds data disks to the virtual machine instance for the update call + # To construct, see NOTES section for STORAGEPROFILEDATADISK properties and create a hash table. + ${StorageProfileDataDisk}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. + ${WindowConfigurationProvisionVMAgent}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. + ${WindowConfigurationProvisionVMConfigAgent}, + + [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Path of Json file supplied to the Update operation + ${JsonFilePath}, + + [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] + [System.String] + # Json string supplied to the Update operation + ${JsonString}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] + [System.Management.Automation.PSObject] + # The DefaultProfile parameter is not functional. + # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMVirtualMachine_UpdateExpanded'; + UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMVirtualMachine_UpdateViaJsonFilePath'; + UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMVirtualMachine_UpdateViaJsonString'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} diff --git a/azstackhci-powershell/internal/README.md b/azstackhci-powershell/internal/README.md new file mode 100644 index 000000000000..26cf0d38057d --- /dev/null +++ b/azstackhci-powershell/internal/README.md @@ -0,0 +1,14 @@ +# Internal +This directory contains a module to handle *internal only* cmdlets. Cmdlets that you **hide** in configuration are created here. For more information on hiding, see [cmdlet hiding](https://github.com/Azure/autorest.powershell/blob/main/docs/directives.md#cmdlet-hiding-exportation-suppression). The cmdlets in this directory are generated at **build-time**. Do not put any custom code, files, cmdlets, etc. into this directory. Please use `..\custom` for all custom implementation. + +## Info +- Modifiable: no +- Generated: all +- Committed: no +- Packaged: yes + +## Details +The `Az.StackHCIVM.internal.psm1` file is generated to this folder. This module file handles the hidden cmdlets. These cmdlets will not be exported by `Az.StackHCIVM`. Instead, this sub-module is imported by the `..\custom\Az.StackHCIVM.custom.psm1` module, allowing you to use hidden cmdlets in your custom, exposed cmdlets. To call these cmdlets in your custom scripts, simply use [module-qualified calls](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6#qualified-names). For example, `Az.StackHCIVM.internal\Get-Example` would call an internal cmdlet named `Get-Example`. + +## Purpose +This allows you to include REST specifications for services that you *do not wish to expose from your module*, but simply want to call within custom cmdlets. For example, if you want to make a custom cmdlet that uses `Storage` services, you could include a simplified `Storage` REST specification that has only the operations you need. When you run the generator and build this module, note the generated `Storage` cmdlets. Then, in your readme configuration, use [cmdlet hiding](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md#cmdlet-hiding-exportation-suppression) on the `Storage` cmdlets and they will *only be exposed to the custom cmdlets* you want to write, and not be exported as part of `Az.StackHCIVM`. diff --git a/azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.dll b/azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.dll new file mode 100644 index 0000000000000000000000000000000000000000..5cd24baa32062de4e3aea6b64232f5d60b2d0bc8 GIT binary patch literal 5596160 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⁡wYA;Eh> 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 z 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%0AP^+bO83a~Q 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 z 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

?z?I5LVFwR<|9sw6xbQ^MkY**d1s5 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

EH`sB{BqFEz2D>eY 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ΜM=1Zyv8A8JXu+TK8$r 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

5!D#VD|KkrRrLTqzcQP
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

_h-ElTOW$a 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

~ZD?pZ;ZP^Y-UO|a^nfhf!o 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%0Dv35WculD*M(@2qc6i!; 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≥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

Ie~PC@fV-^Ob5 zH-b1`p

  • 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 literal 0 HcmV?d00001 diff --git a/azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.pdb b/azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.pdb new file mode 100644 index 0000000000000000000000000000000000000000..0f1199d37eb2227a8038fdd7efe100586d39b0da GIT binary patch literal 1542984 zcmeF)cW_nJ|L^~uwdqCaMUXB?l`bICRZv6_K}4!lMYKCyZ4=HZd?DXw;-Pt0~@4g7`R;BZ%uFb;t zgbcXbc>mr7(rkTRbyv~CRW07toATD)lQ&j*nq`$5ZCTacw=CzvmesqcW#vfU>O(E7 z_^Xyx)t0tumKFH6WtAymS#Rgh{ds9-Kluw;)@I51<+a!3zq%PKUvA-6T5f~oWktyk z=Q5d{-cCM1zC+F=w=SstJB!9z zPToikBuA4g%JFfsYKq1hO#YgDhbWkq8RA%8>uh5Q>io_w2JtGM=W zBpPcRc^df)`8+xQE86E((O6%QhmrpvyO7h!Psq(=ygOO%ipKhpyol^ajvyD3aqeW5 z5{=c1{3Urkc^f&Ne4AWX#=4W$Of=R+@(i*E`7*g=DeY59G}b8cMDiZ;5pps)o!qFj z_HQN1*e1^>dy@Ug#mZ=(a-y*Ykw=qHklo2o$@$7^pZ7&4t0#Fgc^COUIfvY!oc3uc z8fyZ1I@yKnMJ`xg`;-)A%#-_)Hm=$ zc^f&7e3M+ej`nFR8fyx9Hu(tInS76&O>X?A_HQE^>wEHCvOD<_xlmp0Q%aQc26-6y zF!>BQm7GOxP*3}}6y>;+XOYj5eaWW2_9-SB>qGKqA9I{hWZSNpDSs#*Dk~fnR$@j>u zn`xiUqOn$yeFBgo^) zKI9N`!?(51+oIG$-boH3$B>J((mrKGIR}#alGl*8lEcVX$rV~_{~DsPhLgvUPmtZo z*<`DY_Gu@|XHH&D-bjuo-zJxRNBdM2rC#y?@&@vD@)hzea>cgVzouxc0pyY7z2u|h z4DvH_>vy$(XVF*-$*ak+YXNx`*@f&y&LaOs zZr(xrcM#>=PF_GhN%kaXk*$u}r;RArGvxW?Rb)?c0NHfXKCg%}H_3g;8^}A!*T|{l z2A#EkD^bq99~PA>F;_UR?cIg@;Ve2V;l{FL0PtM=(48f!6mJ^2dxHo0jx?bA*))=Kgg zayt1rxzC5%XQ*hbUF0L=EVA{Hws#kutbXKuzf2K#n6PlV9(l{p*VIS&_$+_mKY}r;@YDEkDuzokaQk$!o}A)ybR5SIH^lroFXKJJDFn$eYNw z$(iIHpJ|`|qMYBzuH5~8d%`J~wE;(8Iye`W1BzY?Ncd|1% zll+3*;XCc$T{PBe@-O78

    tlDcYyCC~F*fHTfDjmHft3?bAe*V?_Rue32YXuJFC~ zsU=Du@{i`8+w0Tzj_mX)4NEOx{8cBVQv|n#1oB<@l1PlHJIc$Eu?6wNDpO?q$folGDl0$)7IKK7&MK?I8b7&LqDecVDV~`iaKcPd-UbCO;(CU8a3n zh;lDRo<;T``;niM3oX|^?L|3Wv8LwNFh^)@AZ{$FcL(O7-RL&@972g!HHkI1dp zYybB|S(nLM$tmP4a_tS;r>Q9G5qS#vIN5{z7rDqr?bA+_`&sgQ@+xu=IgVU;llFO2 zG}b`!*W}&gqvSO5GjhAl>{FC$D)J(-JK2|<|7Yz}QZ!ai@&NKW@^O%U`vBC(&4o z$m_`0$f@L3+q6#?QLb&s%gFxZX!7gZwNG79<`H=o*`FLuuDe6~v=EK8g8VZ%i)`)G z_RgX_k0Ng(?3>-*`Wwv5t^k$hXKDiCp5K_Ngq&GcocUayYCGR8WkZlj`(^qt|z9OF{Um#aHr|oq_c|Jy7OU@!& zp4vW2bh0Ls6UcYT1J7&w*P^kmkyFXjrCk3sLUN$h*iUMB85x<(U9^HaV4?O&%Vq zeI|&;3MI#rJBMleC!(=j$(P72!?nGWD4z*=A31-7wwDy;?;7N}

    @UwOb|6gp{4XL<&g}I@v3NU@9tZ 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 4.4.1", + "NETStandard.Library >= 2.0.3", + "PowerShellStandard.Library >= 5.1.0" + ] + }, + "packageFolders": { + "C:\\Users\\havedati\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "2.0.0", + "restore": { + "projectUniqueName": "E:\\azstackhci-util\\azstackhci-powershell\\Az.StackHCIVM.csproj", + "projectName": "Az.StackHCIVM.private", + "projectPath": "E:\\azstackhci-util\\azstackhci-powershell\\Az.StackHCIVM.csproj", + "packagesPath": "C:\\Users\\havedati\\.nuget\\packages\\", + "outputPath": "E:\\azstackhci-util\\azstackhci-powershell\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\azstackhci-util\\NuGet.Config", + "C:\\Users\\havedati\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "https://pkgs.dev.azure.com/msazure/msk8s/_packaging/msk8s_PublicPackages/nuget/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true + } + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "Microsoft.CSharp": { + "target": "Package", + "version": "[4.4.1, )" + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "PowerShellStandard.Library": { + "target": "Package", + "version": "[5.1.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.420\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/azstackhci-powershell/obj/project.nuget.cache b/azstackhci-powershell/obj/project.nuget.cache new file mode 100644 index 000000000000..3d37b07b6135 --- /dev/null +++ b/azstackhci-powershell/obj/project.nuget.cache @@ -0,0 +1,13 @@ +{ + "version": 2, + "dgSpecHash": "xEX20Iyn3a/pHQr0pVgWWZv4wC6wYbaYiwW0Gbh4pwABO+uCquIb8zglYl4gjP4udzn6VnlEGR4qHoyDh/T+Eg==", + "success": true, + "projectFilePath": "E:\\azstackhci-util\\azstackhci-powershell\\Az.StackHCIVM.csproj", + "expectedPackageFiles": [ + "C:\\Users\\havedati\\.nuget\\packages\\microsoft.csharp\\4.4.1\\microsoft.csharp.4.4.1.nupkg.sha512", + "C:\\Users\\havedati\\.nuget\\packages\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512", + "C:\\Users\\havedati\\.nuget\\packages\\netstandard.library\\2.0.3\\netstandard.library.2.0.3.nupkg.sha512", + "C:\\Users\\havedati\\.nuget\\packages\\powershellstandard.library\\5.1.0\\powershellstandard.library.5.1.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/azstackhci-powershell/run-module.ps1 b/azstackhci-powershell/run-module.ps1 new file mode 100644 index 000000000000..d09e84125392 --- /dev/null +++ b/azstackhci-powershell/run-module.ps1 @@ -0,0 +1,62 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$NotIsolated, [switch]$Code) +$ErrorActionPreference = 'Stop' + +if(-not $NotIsolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated + return +} + +$isAzure = $true +if($isAzure) { + . (Join-Path $PSScriptRoot 'check-dependencies.ps1') -NotIsolated -Accounts + # Load the latest version of Az.Accounts installed + Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version +} + +$localModulesPath = Join-Path $PSScriptRoot 'generated\modules' +if(Test-Path -Path $localModulesPath) { + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.StackHCIVM.psd1') +$modulePath = $modulePsd1.FullName +$moduleName = $modulePsd1.BaseName + +function Prompt { + Write-Host -NoNewline -ForegroundColor Green "PS $(Get-Location)" + Write-Host -NoNewline -ForegroundColor Gray ' [' + Write-Host -NoNewline -ForegroundColor White -BackgroundColor DarkCyan $moduleName + ']> ' +} + +# where we would find the launch.json file +$vscodeDirectory = New-Item -ItemType Directory -Force -Path (Join-Path $PSScriptRoot '.vscode') +$launchJson = Join-Path $vscodeDirectory 'launch.json' + +# if there is a launch.json file, let's just assume -Code, and update the file +if(($Code) -or (test-Path $launchJson) ) { + $launchContent = '{ "version": "0.2.0", "configurations":[{ "name":"Attach to PowerShell", "type":"coreclr", "request":"attach", "processId":"' + ([System.Diagnostics.Process]::GetCurrentProcess().Id) + '", "justMyCode":false }] }' + Set-Content -Path $launchJson -Value $launchContent + if($Code) { + # only launch vscode if they say -code + code $PSScriptRoot + } +} + +Import-Module -Name $modulePath \ No newline at end of file diff --git a/azstackhci-powershell/test-module.ps1 b/azstackhci-powershell/test-module.ps1 new file mode 100644 index 000000000000..189a615efc17 --- /dev/null +++ b/azstackhci-powershell/test-module.ps1 @@ -0,0 +1,94 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$NotIsolated, [switch]$Live, [switch]$Record, [switch]$Playback, [switch]$RegenerateSupportModule, [switch]$UsePreviousConfigForRecord, [string[]]$TestName) +$ErrorActionPreference = 'Stop' + +if(-not $NotIsolated) +{ + Write-Host -ForegroundColor Green 'Creating isolated process...' + if ($PSBoundParameters.ContainsKey("TestName")) { + $PSBoundParameters["TestName"] = $PSBoundParameters["TestName"] -join "," + } + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated + return +} + +# This is a workaround, since for string array parameter, pwsh -File will only take the first element +if ($PSBoundParameters.ContainsKey("TestName") -and ($TestName.count -eq 1) -and ($TestName[0].Contains(','))) { + $TestName = $TestName[0].Split(",") +} + +$ProgressPreference = 'SilentlyContinue' +$baseName = $PSScriptRoot.BaseName +$requireResourceModule = (($baseName -ne "Resources") -and ($Record.IsPresent -or $Live.IsPresent)) +. (Join-Path $PSScriptRoot 'check-dependencies.ps1') -NotIsolated -Accounts:$false -Pester -Resources:$requireResourceModule -RegenerateSupportModule:$RegenerateSupportModule +. ("$PSScriptRoot\test\utils.ps1") + +if ($requireResourceModule) +{ + # Load the latest Az.Accounts installed + Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version + $resourceModulePSD = Get-Item -Path (Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psd1') + Import-Module -Name $resourceModulePSD.FullName +} + +$localModulesPath = Join-Path $PSScriptRoot 'generated\modules' +if(Test-Path -Path $localModulesPath) +{ + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.StackHCIVM.psd1') +$modulePath = $modulePsd1.FullName +$moduleName = $modulePsd1.BaseName + +Import-Module -Name Pester +Import-Module -Name $modulePath + +$TestMode = 'playback' +$ExcludeTag = @("LiveOnly") +if($Live) +{ + $TestMode = 'live' + $ExcludeTag = @() +} +if($Record) +{ + $TestMode = 'record' +} +try +{ + if ($TestMode -ne 'playback') + { + setupEnv + } + $testFolder = Join-Path $PSScriptRoot 'test' + if ($null -ne $TestName) + { + Invoke-Pester -Script @{ Path = $testFolder } -TestName $TestName -ExcludeTag $ExcludeTag -EnableExit -OutputFile (Join-Path $testFolder "$moduleName-TestResults.xml") + } else + { + Invoke-Pester -Script @{ Path = $testFolder } -ExcludeTag $ExcludeTag -EnableExit -OutputFile (Join-Path $testFolder "$moduleName-TestResults.xml") + } +} Finally +{ + if ($TestMode -ne 'playback') + { + cleanupEnv + } +} + +Write-Host -ForegroundColor Green '-------------Done-------------' diff --git a/src/Alb/Alb.Autorest/resources/README.md b/src/Alb/Alb.Autorest/resources/README.md deleted file mode 100644 index 736492341e3d..000000000000 --- a/src/Alb/Alb.Autorest/resources/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resources -This directory can contain any additional resources for module that are not required at runtime. This directory **does not** get packaged with the module. If you have assets for custom implementation, place them into the `../custom` folder. - -## Info -- Modifiable: yes -- Generated: no -- Committed: yes -- Packaged: no - -## Purpose -Use this folder to put anything you want to keep around as part of the repository for the module, but is not something that is required for the module. For example, development files, packaged builds, or additional information. This is only intended to be used in repositories where the module's output directory is cleaned, but tangential resources for the module want to remain intact. \ No newline at end of file diff --git a/src/Alb/Alb.Autorest/test/README.md b/src/Alb/Alb.Autorest/test/README.md deleted file mode 100644 index 1969200c6a09..000000000000 --- a/src/Alb/Alb.Autorest/test/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Test -This directory contains the [Pester](https://www.powershellgallery.com/packages/Pester) tests to run for the module. We use Pester as it is the unofficial standard for PowerShell unit testing. Test stubs for custom cmdlets (created in `../custom`) will be generated into this folder when `build-module.ps1` is ran. These test stubs will fail automatically, to indicate that tests should be written for custom cmdlets. - -## Info -- Modifiable: yes -- Generated: partial -- Committed: yes -- Packaged: no - -## Details -We allow three testing modes: *live*, *record*, and *playback*. These can be selected using the `-Live`, `-Record`, and `-Playback` switches respectively on the `test-module.ps1` script. This script will run through any `.Tests.ps1` scripts in the `test` folder. If you choose the *record* mode, it will create a `.Recording.json` file of the REST calls between the client and server. Then, when you choose *playback* mode, it will use the `.Recording.json` file to mock the communication between server and client. The *live* mode runs the same as the *record* mode; however, it doesn't create the `.Recording.json` file. - -## Purpose -Custom cmdlets generally encompass additional functionality not described in the REST specification, or combines functionality generated from the REST spec. To validate this functionality continues to operate as intended, creating tests that can be ran and re-ran against custom cmdlets is part of the framework. - -## Usage -To execute tests, run the `test-module.ps1`. To write tests, [this example](https://github.com/pester/Pester/blob/8b9cf4248315e44f1ac6673be149f7e0d7f10466/Examples/Planets/Get-Planet.Tests.ps1#L1) from the Pester repository is very useful for getting started. \ No newline at end of file diff --git a/src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 b/src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 index ca127708a349..cb47b0801262 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 @@ -1,7 +1,7 @@ @{ GUID = '7389f67c-ec9d-4c13-9c9a-308834413af6' RootModule = './Az.StackHCIVM.psm1' - ModuleVersion = '0.1.0' + ModuleVersion = '2.0.0' CompatiblePSEditions = 'Core', 'Desktop' Author = 'Microsoft Corporation' CompanyName = 'Microsoft Corporation' diff --git a/src/StackHCIVM/StackHCIVM.Autorest/README.md b/src/StackHCIVM/StackHCIVM.Autorest/README.md index f55110488cba..d9f2d8a6e37e 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/README.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/README.md @@ -54,23 +54,23 @@ In this directory, run AutoRest: > see https://aka.ms/autorest ```yaml -commit: 59883fd93ea3f0911d2070a533a3724bf9c2516a +commit: 812f964651d5f1f7148b54ed2cc35cb97be12523 require: - - $(this-folder)/../../readme.azure.noprofile.md + - ../readme.azure.noprofile.md repo: azure-rest-api-specs input-file: - - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-09-01-preview/common.json - - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-09-01-preview/galleryImages.json - - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-09-01-preview/marketplaceGalleryImages.json - - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-09-01-preview/networkInterfaces.json - - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-09-01-preview/storageContainers.json - - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-09-01-preview/virtualHardDisks.json - - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-09-01-preview/virtualMachineInstances.json - - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-09-01-preview/logicalNetworks.json + - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/common.json + - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/galleryImages.json + - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/marketplaceGalleryImages.json + - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/networkInterfaces.json + - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/storageContainers.json + - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/virtualHardDisks.json + - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/virtualMachineInstances.json + - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/logicalNetworks.json - $(repo)/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2023-03-15-preview/HybridCompute.json -module-version: 0.1.0 +module-version: 2.0.0 title: StackHCIVM service-name: StackHCIVM subject-prefix: $(service-name) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/logicalNetworks.json b/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/logicalNetworks.json index 26ff933e1f99..af08d4a87021 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/logicalNetworks.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/logicalNetworks.json @@ -1,6 +1,6 @@ { "resourceType": "logicalNetworks", - "apiVersion": "2023-09-01-preview", + "apiVersion": "2024-01-01", "learnMore": { "url": "https://learn.microsoft.com/powershell/module/az.stackhcivm" }, diff --git a/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/networkInterfaces.json b/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/networkInterfaces.json index e6c9cf15dcdc..51f933726583 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/networkInterfaces.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/networkInterfaces.json @@ -1,6 +1,6 @@ { "resourceType": "networkInterfaces", - "apiVersion": "2023-09-01-preview", + "apiVersion": "2024-01-01", "learnMore": { "url": "https://learn.microsoft.com/powershell/module/az.stackhcivm" }, diff --git a/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/storageContainers.json b/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/storageContainers.json index 4b73403b561a..b680fe2d9c5d 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/storageContainers.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/storageContainers.json @@ -1,6 +1,6 @@ { "resourceType": "storageContainers", - "apiVersion": "2023-09-01-preview", + "apiVersion": "2024-01-01", "learnMore": { "url": "https://learn.microsoft.com/powershell/module/az.stackhcivm" }, diff --git a/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/virtualHardDisks.json b/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/virtualHardDisks.json index 650730b36923..1b047526d5b5 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/virtualHardDisks.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/UX/Microsoft.AzureStackHCI/virtualHardDisks.json @@ -1,6 +1,6 @@ { "resourceType": "virtualHardDisks", - "apiVersion": "2023-09-01-preview", + "apiVersion": "2024-01-01", "learnMore": { "url": "https://learn.microsoft.com/powershell/module/az.stackhcivm" }, diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md index f8285723aa59..0371f56c36d2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md @@ -1,23 +1,22 @@ -### Example 1: Get a Logical Network +### Example 1: {{ Add title here }} ```powershell -Get-AzStackHCIVMLogicalNetwork -Name 'testLnet' -ResourceGroupName 'test-rg' +{{ Add code here }} ``` + ```output -Name ResourceGroupName ----- ----------------- -testLnet test-rg +{{ Add output here (remove the output block if the example doesn't have an output) }} ``` -This command gets a specific logical network in the specified resource group. +{{ Add description here }} -### Example 2: List all Logical Networks in a Resource Group +### Example 2: {{ Add title here }} ```powershell -Get-AzStackHCIVMLogicalNetwork -ResourceGroupName 'test-rg' +{{ Add code here }} ``` + ```output -Name ResourceGroupName ----- ----------------- -testLnet test-rg +{{ Add output here (remove the output block if the example doesn't have an output) }} ``` -This command lists all logical networks in the specified resource group. + +{{ Add description here }} diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md index b4b0a84c969d..0371f56c36d2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md @@ -1,12 +1,22 @@ -### Example 1: Create a Logical Network +### Example 1: {{ Add title here }} ```powershell -New-AzStackHCIVMLogicalNetwork -Name "testLnet" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -VmSwitchName "testswitch" +{{ Add code here }} ``` + +```output +{{ Add output here (remove the output block if the example doesn't have an output) }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + ```output -Name ResourceGroupName ----- ----------------- -testLnet test-rg +{{ Add output here (remove the output block if the example doesn't have an output) }} ``` -This command creates a logical network in the specified resource group. +{{ Add description here }} diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md index 5bec143007e6..0371f56c36d2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md @@ -1,9 +1,22 @@ -### Example 1: Remove a Storage Path +### Example 1: {{ Add title here }} ```powershell - Remove-AzStackHCIVMStoragePath -Name "testStoragePath" -ResourceGroupName "test-rg" +{{ Add code here }} +``` + +```output +{{ Add output here (remove the output block if the example doesn't have an output) }} +``` +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} ``` -This command removes the storage path from the specified resource group. +```output +{{ Add output here (remove the output block if the example doesn't have an output) }} +``` +{{ Add description here }} diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMLogicalNetwork.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMLogicalNetwork.md index 3e97b0de484b..0371f56c36d2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMLogicalNetwork.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMLogicalNetwork.md @@ -1,12 +1,22 @@ -### Example 1: Update a Logical Network. +### Example 1: {{ Add title here }} ```powershell -Update-AzStackHCIVMLogicalNetwork -Name "testLnet" -ResourceGroupName "test-rg" -Tag @{"tagname" = "tagvalue"} +{{ Add code here }} ``` ```output -Name ResourceGroupName ----- ----------------- -testLnet test-rg +{{ Add output here (remove the output block if the example doesn't have an output) }} ``` -This command updates an exisiting logical network in the specified resource group. \ No newline at end of file +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here (remove the output block if the example doesn't have an output) }} +``` + +{{ Add description here }} + diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMNetworkInterface.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMNetworkInterface.md index cbbef63df69b..0371f56c36d2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMNetworkInterface.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMNetworkInterface.md @@ -1,12 +1,22 @@ -### Example 1: Update a Network Interface. +### Example 1: {{ Add title here }} ```powershell -Update-AzStackHCIVMNetworkInterface -Name "testNic" -ResourceGroupName "test-rg" -Tag @{"tagname" = "tagvalue"} +{{ Add code here }} ``` ```output -Name ResourceGroupName ----- ----------------- -testNic test-rg +{{ Add output here (remove the output block if the example doesn't have an output) }} ``` -This command updates an exisiting network interface in the specified resource group. \ No newline at end of file +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here (remove the output block if the example doesn't have an output) }} +``` + +{{ Add description here }} + diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMStoragePath.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMStoragePath.md index 57a37f5ddebb..0371f56c36d2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMStoragePath.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMStoragePath.md @@ -1,12 +1,22 @@ -### Example 1: Update a Storage Path. +### Example 1: {{ Add title here }} ```powershell -Update-AzStackHCIVMStoragePath -Name "testVhd" -ResourceGroupName "test-rg" -Tag @{"tagname" = "tagvalue"} +{{ Add code here }} ``` ```output -Name ResourceGroupName ----- ----------------- -testStoragePath test-rg +{{ Add output here (remove the output block if the example doesn't have an output) }} ``` -This command updates an exisiting storage path in the specified resource group. \ No newline at end of file +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here (remove the output block if the example doesn't have an output) }} +``` + +{{ Add description here }} + diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualHardDisk.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualHardDisk.md index f5b2bae16cd4..0371f56c36d2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualHardDisk.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualHardDisk.md @@ -1,12 +1,22 @@ -### Example 1: Update a Virtual Hard Disk. +### Example 1: {{ Add title here }} ```powershell -Update-AzStackHCIVMVirtualHardDisk -Name "testVhd" -ResourceGroupName "test-rg" -Tag @{"tagname" = "tagvalue"} +{{ Add code here }} ``` ```output -Name ResourceGroupName ----- ----------------- -testVhd test-rg +{{ Add output here (remove the output block if the example doesn't have an output) }} ``` -This command updates an exisiting virtual hard disk in the specified resource group. \ No newline at end of file +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here (remove the output block if the example doesn't have an output) }} +``` + +{{ Add description here }} + diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md index 6e204e21af3a..0371f56c36d2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md @@ -1,12 +1,22 @@ -### Example 1: Update the Size of the Virtual Machine. +### Example 1: {{ Add title here }} ```powershell -Update-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" -VmMemoryInMB "4" +{{ Add code here }} ``` + +```output +{{ Add output here (remove the output block if the example doesn't have an output) }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + ```output -Name ResourceGroupName ----- ----------------- -testVm test-rg +{{ Add output here (remove the output block if the example doesn't have an output) }} ``` -This command updates an existing virtual machine in the specified resource group. +{{ Add description here }} From 21a258693b0f42917e2633dd95efa0cd44123422 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 15:47:55 -0700 Subject: [PATCH 02/21] delete --- azstackhci-powershell/.gitignore | 16 - azstackhci-powershell/Az.StackHCIVM.csproj | 44 - .../Az.StackHCIVM.format.ps1xml | 4413 --- azstackhci-powershell/Az.StackHCIVM.nuspec | 32 - azstackhci-powershell/Az.StackHCIVM.psm1 | 115 - azstackhci-powershell/build-module.ps1 | 180 - azstackhci-powershell/check-dependencies.ps1 | 65 - .../create-model-cmdlets.ps1 | 262 - .../custom/Az.StackHCIVm.custom.psm1 | 17 - azstackhci-powershell/custom/README.md | 41 - azstackhci-powershell/docs/README.md | 11 - azstackhci-powershell/export-surface.ps1 | 41 - azstackhci-powershell/exports/README.md | 20 - .../Models/OperationListResult.PowerShell.cs | 164 - .../api/Models/OperationListResult.cs | 57 - .../api/Models/OperationListResult.json.cs | 119 - .../generated/api/StackHciVM.cs | 27714 ---------------- .../GetAzStackHciVMGalleryImage_Get.cs | 476 - .../GetAzStackHciVMGalleryImage_List.cs | 491 - .../GetAzStackHciVMGalleryImage_List1.cs | 477 - .../cmdlets/GetAzStackHciVMGuestAgent_Get.cs | 441 - .../cmdlets/GetAzStackHciVMGuestAgent_List.cs | 468 - ...tAzStackHciVMHybridIdentityMetadata_Get.cs | 441 - ...AzStackHciVMHybridIdentityMetadata_List.cs | 468 - .../GetAzStackHciVMLogicalNetwork_Get.cs | 475 - .../GetAzStackHciVMLogicalNetwork_List.cs | 490 - .../GetAzStackHciVMLogicalNetwork_List1.cs | 476 - ...AzStackHciVMMarketplaceGalleryImage_Get.cs | 476 - ...zStackHciVMMarketplaceGalleryImage_List.cs | 491 - ...StackHciVMMarketplaceGalleryImage_List1.cs | 477 - .../GetAzStackHciVMNetworkInterface_Get.cs | 475 - .../GetAzStackHciVMNetworkInterface_List.cs | 490 - .../GetAzStackHciVMNetworkInterface_List1.cs | 476 - .../cmdlets/GetAzStackHciVMOperation_List.cs | 432 - .../cmdlets/GetAzStackHciVMStoragePath_Get.cs | 475 - .../GetAzStackHciVMStoragePath_List.cs | 490 - .../GetAzStackHciVMStoragePath_List1.cs | 476 - .../GetAzStackHciVMVirtualHardDisk_Get.cs | 475 - .../GetAzStackHciVMVirtualHardDisk_List.cs | 490 - .../GetAzStackHciVMVirtualHardDisk_List1.cs | 476 - .../GetAzStackHciVMVirtualMachine_Get.cs | 441 - .../GetAzStackHciVMVirtualMachine_List.cs | 470 - ...HCIVMGalleryImage_CreateViaJsonFilePath.cs | 577 - ...ckHCIVMGalleryImage_CreateViaJsonString.cs | 575 - ...ckHCIVMGuestAgent_CreateViaJsonFilePath.cs | 541 - ...tackHCIVMGuestAgent_CreateViaJsonString.cs | 539 - ...IVMLogicalNetwork_CreateViaJsonFilePath.cs | 577 - ...HCIVMLogicalNetwork_CreateViaJsonString.cs | 575 - ...placeGalleryImage_CreateViaJsonFilePath.cs | 580 - ...etplaceGalleryImage_CreateViaJsonString.cs | 578 - ...MNetworkInterface_CreateViaJsonFilePath.cs | 577 - ...IVMNetworkInterface_CreateViaJsonString.cs | 575 - ...kHCIVMStoragePath_CreateViaJsonFilePath.cs | 577 - ...ackHCIVMStoragePath_CreateViaJsonString.cs | 575 - ...VMVirtualHardDisk_CreateViaJsonFilePath.cs | 577 - ...CIVMVirtualHardDisk_CreateViaJsonString.cs | 575 - ...IVMVirtualMachine_CreateViaJsonFilePath.cs | 544 - ...HCIVMVirtualMachine_CreateViaJsonString.cs | 542 - ...AzStackHciVMGalleryImage_CreateExpanded.cs | 724 - ...ewAzStackHciVMGuestAgent_CreateExpanded.cs | 562 - ...StackHciVMLogicalNetwork_CreateExpanded.cs | 655 - ...MMarketplaceGalleryImage_CreateExpanded.cs | 716 - ...ackHciVMNetworkInterface_CreateExpanded.cs | 655 - ...wAzStackHciVMStoragePath_CreateExpanded.cs | 631 - ...tackHciVMVirtualHardDisk_CreateExpanded.cs | 710 - ...StackHciVMVirtualMachine_CreateExpanded.cs | 962 - .../RemoveAzStackHciVMGalleryImage_Delete.cs | 579 - ...tackHciVMGalleryImage_DeleteViaIdentity.cs | 556 - .../RemoveAzStackHciVMGuestAgent_Delete.cs | 511 - ...RemoveAzStackHciVMLogicalNetwork_Delete.cs | 579 - ...ckHciVMLogicalNetwork_DeleteViaIdentity.cs | 556 - ...tackHciVMMarketplaceGalleryImage_Delete.cs | 579 - ...rketplaceGalleryImage_DeleteViaIdentity.cs | 558 - ...moveAzStackHciVMNetworkInterface_Delete.cs | 579 - ...HciVMNetworkInterface_DeleteViaIdentity.cs | 556 - .../RemoveAzStackHciVMStoragePath_Delete.cs | 579 - ...StackHciVMStoragePath_DeleteViaIdentity.cs | 556 - ...emoveAzStackHciVMVirtualHardDisk_Delete.cs | 579 - ...kHciVMVirtualHardDisk_DeleteViaIdentity.cs | 556 - ...RemoveAzStackHciVMVirtualMachine_Delete.cs | 545 - ...startAzStackHciVMVirtualMachine_Restart.cs | 524 - ...HCIVMGalleryImage_UpdateViaJsonFilePath.cs | 577 - ...ckHCIVMGalleryImage_UpdateViaJsonString.cs | 575 - ...IVMLogicalNetwork_UpdateViaJsonFilePath.cs | 577 - ...HCIVMLogicalNetwork_UpdateViaJsonString.cs | 575 - ...placeGalleryImage_UpdateViaJsonFilePath.cs | 580 - ...etplaceGalleryImage_UpdateViaJsonString.cs | 578 - ...MNetworkInterface_UpdateViaJsonFilePath.cs | 577 - ...IVMNetworkInterface_UpdateViaJsonString.cs | 575 - ...MStorageContainer_UpdateViaJsonFilePath.cs | 577 - ...IVMStorageContainer_UpdateViaJsonString.cs | 575 - ...VMVirtualHardDisk_UpdateViaJsonFilePath.cs | 577 - ...CIVMVirtualHardDisk_UpdateViaJsonString.cs | 575 - ...alMachineInstance_UpdateViaJsonFilePath.cs | 546 - ...tualMachineInstance_UpdateViaJsonString.cs | 544 - ...AzStackHciVMGalleryImage_UpdateExpanded.cs | 714 - ...StackHciVMLogicalNetwork_UpdateExpanded.cs | 645 - ...MMarketplaceGalleryImage_UpdateExpanded.cs | 706 - ...ackHciVMNetworkInterface_UpdateExpanded.cs | 645 - ...ackHciVMStorageContainer_UpdateExpanded.cs | 621 - ...tackHciVMVirtualHardDisk_UpdateExpanded.cs | 700 - ...VMVirtualMachineInstance_UpdateExpanded.cs | 952 - .../StartAzStackHciVMVirtualMachine_Start.cs | 524 - .../StopAzStackHciVMVirtualMachine_Stop.cs | 524 - ...HCIVMGalleryImage_UpdateViaJsonFilePath.cs | 575 - ...ckHCIVMGalleryImage_UpdateViaJsonString.cs | 573 - ...IVMLogicalNetwork_UpdateViaJsonFilePath.cs | 574 - ...HCIVMLogicalNetwork_UpdateViaJsonString.cs | 572 - ...placeGalleryImage_UpdateViaJsonFilePath.cs | 578 - ...etplaceGalleryImage_UpdateViaJsonString.cs | 576 - ...MNetworkInterface_UpdateViaJsonFilePath.cs | 576 - ...IVMNetworkInterface_UpdateViaJsonString.cs | 572 - ...kHCIVMStoragePath_UpdateViaJsonFilePath.cs | 574 - ...ackHCIVMStoragePath_UpdateViaJsonString.cs | 572 - ...VMVirtualHardDisk_UpdateViaJsonFilePath.cs | 574 - ...CIVMVirtualHardDisk_UpdateViaJsonString.cs | 572 - ...IVMVirtualMachine_UpdateViaJsonFilePath.cs | 541 - ...HCIVMVirtualMachine_UpdateViaJsonString.cs | 539 - ...AzStackHciVMGalleryImage_UpdateExpanded.cs | 574 - ...MGalleryImage_UpdateViaIdentityExpanded.cs | 553 - ...StackHciVMLogicalNetwork_UpdateExpanded.cs | 573 - ...ogicalNetwork_UpdateViaIdentityExpanded.cs | 552 - ...MMarketplaceGalleryImage_UpdateExpanded.cs | 576 - ...eGalleryImage_UpdateViaIdentityExpanded.cs | 554 - ...ackHciVMNetworkInterface_UpdateExpanded.cs | 573 - ...workInterface_UpdateViaIdentityExpanded.cs | 552 - ...eAzStackHciVMStoragePath_UpdateExpanded.cs | 573 - ...VMStoragePath_UpdateViaIdentityExpanded.cs | 550 - ...tackHciVMVirtualHardDisk_UpdateExpanded.cs | 573 - ...rtualHardDisk_UpdateViaIdentityExpanded.cs | 552 - ...StackHciVMVirtualMachine_UpdateExpanded.cs | 665 - .../runtime/BuildTime/Cmdlets/ExportPsd1.cs | 193 - .../internal/Az.StackHCIVm.internal.psm1 | 38 - .../internal/Get-AzStackHciVMOperation.ps1 | 125 - .../internal/ProxyCmdletDefinitions.ps1 | 10446 ------ azstackhci-powershell/internal/README.md | 14 - .../obj/Debug/Az.StackHCIVm.private.dll | Bin 5596160 -> 0 bytes .../obj/Debug/Az.StackHCIVm.private.pdb | Bin 1542984 -> 0 bytes azstackhci-powershell/obj/project.assets.json | 354 - azstackhci-powershell/obj/project.nuget.cache | 13 - azstackhci-powershell/run-module.ps1 | 62 - azstackhci-powershell/test-module.ps1 | 94 - 142 files changed, 108981 deletions(-) delete mode 100644 azstackhci-powershell/.gitignore delete mode 100644 azstackhci-powershell/Az.StackHCIVM.csproj delete mode 100644 azstackhci-powershell/Az.StackHCIVM.format.ps1xml delete mode 100644 azstackhci-powershell/Az.StackHCIVM.nuspec delete mode 100644 azstackhci-powershell/Az.StackHCIVM.psm1 delete mode 100644 azstackhci-powershell/build-module.ps1 delete mode 100644 azstackhci-powershell/check-dependencies.ps1 delete mode 100644 azstackhci-powershell/create-model-cmdlets.ps1 delete mode 100644 azstackhci-powershell/custom/Az.StackHCIVm.custom.psm1 delete mode 100644 azstackhci-powershell/custom/README.md delete mode 100644 azstackhci-powershell/docs/README.md delete mode 100644 azstackhci-powershell/export-surface.ps1 delete mode 100644 azstackhci-powershell/exports/README.md delete mode 100644 azstackhci-powershell/generated/api/Models/OperationListResult.PowerShell.cs delete mode 100644 azstackhci-powershell/generated/api/Models/OperationListResult.cs delete mode 100644 azstackhci-powershell/generated/api/Models/OperationListResult.json.cs delete mode 100644 azstackhci-powershell/generated/api/StackHciVM.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List1.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List1.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List1.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List1.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMOperation_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List1.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List1.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_Get.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_List.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGalleryImage_CreateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGuestAgent_CreateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMLogicalNetwork_CreateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMMarketplaceGalleryImage_CreateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMNetworkInterface_CreateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMStoragePath_CreateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualHardDisk_CreateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualMachine_CreateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_Delete.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_DeleteViaIdentity.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGuestAgent_Delete.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_Delete.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_DeleteViaIdentity.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_Delete.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_DeleteViaIdentity.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_Delete.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_DeleteViaIdentity.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_Delete.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_DeleteViaIdentity.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_Delete.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_DeleteViaIdentity.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualMachine_Delete.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/RestartAzStackHciVMVirtualMachine_Restart.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMGalleryImage_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMLogicalNetwork_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMNetworkInterface_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMStorageContainer_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualHardDisk_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualMachineInstance_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/StartAzStackHciVMVirtualMachine_Start.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/StopAzStackHciVMVirtualMachine_Stop.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateViaIdentityExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateViaIdentityExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateViaIdentityExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateViaIdentityExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateViaIdentityExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateViaIdentityExpanded.cs delete mode 100644 azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualMachine_UpdateExpanded.cs delete mode 100644 azstackhci-powershell/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs delete mode 100644 azstackhci-powershell/internal/Az.StackHCIVm.internal.psm1 delete mode 100644 azstackhci-powershell/internal/Get-AzStackHciVMOperation.ps1 delete mode 100644 azstackhci-powershell/internal/ProxyCmdletDefinitions.ps1 delete mode 100644 azstackhci-powershell/internal/README.md delete mode 100644 azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.dll delete mode 100644 azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.pdb delete mode 100644 azstackhci-powershell/obj/project.assets.json delete mode 100644 azstackhci-powershell/obj/project.nuget.cache delete mode 100644 azstackhci-powershell/run-module.ps1 delete mode 100644 azstackhci-powershell/test-module.ps1 diff --git a/azstackhci-powershell/.gitignore b/azstackhci-powershell/.gitignore deleted file mode 100644 index 3c3d57339c8b..000000000000 --- a/azstackhci-powershell/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -bin -obj -.vs -generated -internal -exports -tools -custom/*.psm1 -custom/autogen-model-cmdlets -test/*-TestResults.xml -/*.ps1 -/*.ps1xml -/*.psm1 -/*.snk -/*.csproj -/*.nuspec \ No newline at end of file diff --git a/azstackhci-powershell/Az.StackHCIVM.csproj b/azstackhci-powershell/Az.StackHCIVM.csproj deleted file mode 100644 index ea23d3aeb4ce..000000000000 --- a/azstackhci-powershell/Az.StackHCIVM.csproj +++ /dev/null @@ -1,44 +0,0 @@ - - - - 2.0.0 - 7.1 - netstandard2.0 - Library - Az.StackHCIVM.private - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM - true - false - ./bin - $(OutputPath) - Az.StackHCIVM.nuspec - true - - - 1998, 1591 - true - - - - - false - TRACE;DEBUG;NETSTANDARD - - - - true - true - MSSharedLibKey.snk - TRACE;RELEASE;NETSTANDARD;SIGN - - - - - - - - - $(DefaultItemExcludes);resources/** - - - \ No newline at end of file diff --git a/azstackhci-powershell/Az.StackHCIVM.format.ps1xml b/azstackhci-powershell/Az.StackHCIVM.format.ps1xml deleted file mode 100644 index 874d39a3e633..000000000000 --- a/azstackhci-powershell/Az.StackHCIVM.format.ps1xml +++ /dev/null @@ -1,4413 +0,0 @@ - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentConfiguration - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentConfiguration#Multiple - - - - - - - - - - - - - - - - - - - - - ConfigMode - - - ExtensionsEnabled - - - GuestConfigurationEnabled - - - ProxyUrl - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentUpgrade - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentUpgrade#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CorrelationId - - - DesiredVersion - - - EnableAutomaticUpgrade - - - LastAttemptDesiredVersion - - - LastAttemptMessage - - - LastAttemptStatus - - - LastAttemptTimestamp - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersion - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersion#Multiple - - - - - - - - - - - - - - - - - - AgentVersion1 - - - DownloadLink - - - OSType - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersionsList - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersionsList#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.CloudMetadata - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.CloudMetadata#Multiple - - - - - - - - - - - - Provider - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ConfigurationExtension - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ConfigurationExtension#Multiple - - - - - - - - - - - - Publisher - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.DetectedProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.DetectedProperties#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorDetail - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorDetail#Multiple - - - - - - - - - - - - - - - - - - Code - - - Message - - - Target - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorDetailAutoGenerated - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorDetailAutoGenerated#Multiple - - - - - - - - - - - - - - - - - - Code - - - Message - - - Target - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtendedLocation - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtendedLocation#Multiple - - - - - - - - - - - - Name - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionTargetProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionTargetProperties#Multiple - - - - - - - - - - - - TargetVersion - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValue - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValue#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValueProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValueProperties#Multiple - - - - - - - - - - - - - - - - - - ExtensionType - - - Publisher - - - Version - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryDiskImage - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryDiskImage#Multiple - - - - - - - - - - - - SizeInMb - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageIdentifier - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageIdentifier#Multiple - - - - - - - - - - - - - - - - - - Offer - - - Publisher - - - Sku - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageProperties#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - CloudInitDataSource - - - ContainerId - - - HyperVGeneration - - - ImagePath - - - OSType - - - ProvisioningState - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Location - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatus#Multiple - - - - - - - - - - - - - - - - - - ErrorCode - - - ErrorMessage - - - ProgressPercentage - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatusDownloadStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatusDownloadStatus#Multiple - - - - - - - - - - - - DownloadSizeInMb - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatusProvisioningStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageStatusProvisioningStatus#Multiple - - - - - - - - - - - - - - - OperationId - - - Status - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesUpdateRequestTags - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesUpdateRequestTags#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageVersion - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImageVersion#Multiple - - - - - - - - - - - - Name - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryOSDiskImage - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryOSDiskImage#Multiple - - - - - - - - - - - - SizeInMb - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentInstallStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentInstallStatus#Multiple - - - - - - - - - - - - - - - - - - - - - AgentVersion - - - LastStatusChange - - - Status - - - VMUuid - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentList - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentList#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentProperties#Multiple - - - - - - - - - - - - - - - - - - ProvisioningAction - - - ProvisioningState - - - Status - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestCredential - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestCredential#Multiple - - - - - - - - - - - - - - - Password - - - Username - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HardwareProfileUpdate - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HardwareProfileUpdate#Multiple - - - - - - - - - - - - - - - - - - MemoryMb - - - Processor - - - VMSize - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HttpProxyConfiguration - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HttpProxyConfiguration#Multiple - - - - - - - - - - - - - - - - - - HttpProxy - - - HttpsProxy - - - TrustedCa - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadata - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadata#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataAutoGenerated - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataAutoGenerated#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataList - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataList#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataListAutoGenerated - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataListAutoGenerated#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataProperties#Multiple - - - - - - - - - - - - - - - - - - ProvisioningState - - - PublicKey - - - ResourceUid - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataPropertiesAutoGenerated - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataPropertiesAutoGenerated#Multiple - - - - - - - - - - - - - - - PublicKey - - - VMId - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Identity - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Identity#Multiple - - - - - - - - - - - - - - - PrincipalId - - - TenantId - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.InstanceViewStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.InstanceViewStatus#Multiple - - - - - - - - - - - - - - - - - - - - - - - - Code - - - DisplayStatus - - - Level - - - Message - - - Time - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPAddress - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPAddress#Multiple - - - - - - - - - - - - - - - Address - - - Version - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPConfiguration - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPConfiguration#Multiple - - - - - - - - - - - - Name - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPConfigurationProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPConfigurationProperties#Multiple - - - - - - - - - - - - - - - - - - Gateway - - - PrefixLength - - - PrivateIPAddress - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPPool - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPPool#Multiple - - - - - - - - - - - - - - - - - - End - - - Name - - - Start - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPPoolInfo - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IPPoolInfo#Multiple - - - - - - - - - - - - - - - Available - - - Used - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LocationData - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LocationData#Multiple - - - - - - - - - - - - - - - - - - - - - City - - - CountryOrRegion - - - District - - - Name - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkProperties#Multiple - - - - - - - - - - - - - - - ProvisioningState - - - VMSwitchName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Location - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkStatus#Multiple - - - - - - - - - - - - - - - ErrorCode - - - ErrorMessage - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkStatusProvisioningStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworkStatusProvisioningStatus#Multiple - - - - - - - - - - - - - - - OperationId - - - Status - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksUpdateRequestTags - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksUpdateRequestTags#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Location - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - Kind - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Location - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionInstanceView - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionInstanceView#Multiple - - - - - - - - - - - - - - - Name - - - TypeHandlerVersion - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionInstanceViewStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionInstanceViewStatus#Multiple - - - - - - - - - - - - - - - - - - - - - - - - Code - - - DisplayStatus - - - Level - - - Message - - - Time - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionProperties#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - AutoUpgradeMinorVersion - - - EnableAutomaticUpgrade - - - ForceUpdateTag - - - ProvisioningState - - - Publisher - - - TypeHandlerVersion - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionsListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionsListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionUpdateProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionUpdateProperties#Multiple - - - - - - - - - - - - - - - - - - - - - - - - AutoUpgradeMinorVersion - - - EnableAutomaticUpgrade - - - ForceUpdateTag - - - Publisher - - - TypeHandlerVersion - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineProperties#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AdFqdn - - - AgentVersion - - - ClientPublicKey - - - DisplayName - - - DnsFqdn - - - DomainName - - - LastStatusChange - - - MachineFqdn - - - MssqlDiscovered - - - OSName - - - OSSku - - - OSType - - - OSVersion - - - ParentClusterResourceId - - - PrivateLinkScopeResourceId - - - ProvisioningState - - - Status - - - VMId - - - VMUuid - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineUpdate - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineUpdate#Multiple - - - - - - - - - - - - Kind - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineUpdateProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineUpdateProperties#Multiple - - - - - - - - - - - - - - - ParentClusterResourceId - - - PrivateLinkScopeResourceId - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageProperties#Multiple - - - - - - - - - - - - - - - - - - - - - - - - CloudInitDataSource - - - ContainerId - - - HyperVGeneration - - - OSType - - - ProvisioningState - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Location - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatus#Multiple - - - - - - - - - - - - - - - - - - ErrorCode - - - ErrorMessage - - - ProgressPercentage - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatusDownloadStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatusDownloadStatus#Multiple - - - - - - - - - - - - DownloadSizeInMb - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatusProvisioningStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImageStatusProvisioningStatus#Multiple - - - - - - - - - - - - - - - OperationId - - - Status - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesUpdateRequestTags - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesUpdateRequestTags#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceProperties#Multiple - - - - - - - - - - - - - - - MacAddress - - - ProvisioningState - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Location - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceStatus#Multiple - - - - - - - - - - - - - - - ErrorCode - - - ErrorMessage - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceStatusProvisioningStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaceStatusProvisioningStatus#Multiple - - - - - - - - - - - - - - - OperationId - - - Status - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesUpdateRequestTags - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesUpdateRequestTags#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValue - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValue#Multiple - - - - - - - - - - - - - - - - - - IsDataAction - - - Name - - - Origin - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValueDisplay - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValueDisplay#Multiple - - - - - - - - - - - - - - - - - - - - - Description - - - Operation - - - Provider - - - Resource - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfile - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfile#Multiple - - - - - - - - - - - - ComputerName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdate - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdate#Multiple - - - - - - - - - - - - ComputerName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdateLinuxConfiguration - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdateLinuxConfiguration#Multiple - - - - - - - - - - - - - - - ProvisionVMAgent - - - ProvisionVMConfigAgent - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdateWindowsConfiguration - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OSProfileUpdateWindowsConfiguration#Multiple - - - - - - - - - - - - - - - ProvisionVMAgent - - - ProvisionVMConfigAgent - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.PatchSettings - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.PatchSettings#Multiple - - - - - - - - - - - - - - - AssessmentMode - - - PatchMode - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ProxyResource - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ProxyResource#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Resource - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Resource#Multiple - - - - - - - - - - - - Name - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ResourceUpdateTags - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ResourceUpdateTags#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Route - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Route#Multiple - - - - - - - - - - - - Name - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.RoutePropertiesFormat - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.RoutePropertiesFormat#Multiple - - - - - - - - - - - - - - - AddressPrefix - - - NextHopIPAddress - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.RouteTable - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.RouteTable#Multiple - - - - - - - - - - - - - - - Etag - - - Name - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ServiceStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ServiceStatus#Multiple - - - - - - - - - - - - - - - StartupType - - - Status - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SshPublicKey - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SshPublicKey#Multiple - - - - - - - - - - - - - - - KeyData - - - Path - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StackHcivmIdentity - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StackHcivmIdentity#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ExtensionName - - - ExtensionType - - - GalleryImageName - - - Location - - - LogicalNetworkName - - - MachineName - - - MarketplaceGalleryImageName - - - MetadataName - - - NetworkInterfaceName - - - OSType - - - Publisher - - - ResourceGroupName - - - ResourceUri - - - StorageContainerName - - - SubscriptionId - - - Version - - - VirtualHardDiskName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerProperties#Multiple - - - - - - - - - - - - - - - Path - - - ProvisioningState - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Location - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerStatus#Multiple - - - - - - - - - - - - - - - - - - - - - AvailableSizeMb - - - ContainerSizeMb - - - ErrorCode - - - ErrorMessage - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerStatusProvisioningStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainerStatusProvisioningStatus#Multiple - - - - - - - - - - - - - - - OperationId - - - Status - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersUpdateRequestTags - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersUpdateRequestTags#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Subnet - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Subnet#Multiple - - - - - - - - - - - - Name - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SubnetAutoGenerated - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SubnetAutoGenerated#Multiple - - - - - - - - - - - - AddressPrefix - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SubnetPropertiesFormat - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SubnetPropertiesFormat#Multiple - - - - - - - - - - - - - - - - - - AddressPrefix - - - IPAllocationMethod - - - Vlan - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SystemData - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.SystemData#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - CreatedAt - - - CreatedBy - - - CreatedByType - - - LastModifiedAt - - - LastModifiedBy - - - LastModifiedByType - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.TrackedResource - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.TrackedResource#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - Location - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.TrackedResourceTags - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.TrackedResourceTags#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskProperties#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BlockSizeByte - - - ContainerId - - - DiskFileFormat - - - DiskSizeGb - - - Dynamic - - - HyperVGeneration - - - LogicalSectorByte - - - PhysicalSectorByte - - - ProvisioningState - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Location - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskStatus#Multiple - - - - - - - - - - - - - - - ErrorCode - - - ErrorMessage - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskStatusProvisioningStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDiskStatusProvisioningStatus#Multiple - - - - - - - - - - - - - - - OperationId - - - Status - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksUpdateRequestTags - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksUpdateRequestTags#Multiple - - - - - - - - - - - - Item - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineConfigAgentInstanceView - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineConfigAgentInstanceView#Multiple - - - - - - - - - - - - VMConfigAgentVersion - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance#Multiple - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name - - - SystemDataCreatedAt - - - SystemDataCreatedBy - - - SystemDataCreatedByType - - - SystemDataLastModifiedAt - - - SystemDataLastModifiedBy - - - SystemDataLastModifiedByType - - - ResourceGroupName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceListResult - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceListResult#Multiple - - - - - - - - - - - - NextLink - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceProperties - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceProperties#Multiple - - - - - - - - - - - - - - - - - - ProvisioningState - - - ResourceUid - - - VMId - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesHardwareProfile - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesHardwareProfile#Multiple - - - - - - - - - - - - - - - - - - MemoryMb - - - Processor - - - VMSize - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig#Multiple - - - - - - - - - - - - - - - - - - MaximumMemoryMb - - - MinimumMemoryMb - - - TargetMemoryBuffer - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfile - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfile#Multiple - - - - - - - - - - - - - - - - - - AdminPassword - - - AdminUsername - - - ComputerName - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfileLinuxConfiguration - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfileLinuxConfiguration#Multiple - - - - - - - - - - - - - - - - - - DisablePasswordAuthentication - - - ProvisionVMAgent - - - ProvisionVMConfigAgent - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfileWindowsConfiguration - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesOSProfileWindowsConfiguration#Multiple - - - - - - - - - - - - - - - - - - - - - EnableAutomaticUpdate - - - ProvisionVMAgent - - - ProvisionVMConfigAgent - - - TimeZone - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesSecurityProfile - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesSecurityProfile#Multiple - - - - - - - - - - - - - - - EnableTpm - - - SecurityType - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesSecurityProfileUefiSettings - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesSecurityProfileUefiSettings#Multiple - - - - - - - - - - - - SecureBootEnabled - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesStorageProfile - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesStorageProfile#Multiple - - - - - - - - - - - - VMConfigStoragePathId - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesStorageProfileOSDisk - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstancePropertiesStorageProfileOSDisk#Multiple - - - - - - - - - - - - OSType - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceStatus#Multiple - - - - - - - - - - - - - - - - - - ErrorCode - - - ErrorMessage - - - PowerState - - - - - - - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceStatusProvisioningStatus - - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceStatusProvisioningStatus#Multiple - - - - - - - - - - - - - - - OperationId - - - Status - - - - - - - - \ No newline at end of file diff --git a/azstackhci-powershell/Az.StackHCIVM.nuspec b/azstackhci-powershell/Az.StackHCIVM.nuspec deleted file mode 100644 index 7b1ac0c81d54..000000000000 --- a/azstackhci-powershell/Az.StackHCIVM.nuspec +++ /dev/null @@ -1,32 +0,0 @@ - - - - Az.StackHCIVM - 2.0.0 - Microsoft Corporation - Microsoft Corporation - true - https://aka.ms/azps-license - https://github.com/Azure/azure-powershell - Microsoft Azure PowerShell: $(service-name) cmdlets - - Microsoft Corporation. All rights reserved. - Azure ResourceManager ARM PSModule $(service-name) - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/azstackhci-powershell/Az.StackHCIVM.psm1 b/azstackhci-powershell/Az.StackHCIVM.psm1 deleted file mode 100644 index a561c16a089f..000000000000 --- a/azstackhci-powershell/Az.StackHCIVM.psm1 +++ /dev/null @@ -1,115 +0,0 @@ -# region Generated - # ---------------------------------------------------------------------------------- - # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. - # ---------------------------------------------------------------------------------- - # Load required Az.Accounts module - $accountsName = 'Az.Accounts' - $accountsModule = Get-Module -Name $accountsName - if(-not $accountsModule) { - $localAccountsPath = Join-Path $PSScriptRoot 'generated\modules' - if(Test-Path -Path $localAccountsPath) { - $localAccounts = Get-ChildItem -Path $localAccountsPath -Recurse -Include 'Az.Accounts.psd1' | Select-Object -Last 1 - if($localAccounts) { - $accountsModule = Import-Module -Name ($localAccounts.FullName) -Scope Global -PassThru - } - } - if(-not $accountsModule) { - $hasAdequateVersion = (Get-Module -Name $accountsName -ListAvailable | Where-Object { $_.Version -ge [System.Version]'2.7.5' } | Measure-Object).Count -gt 0 - if($hasAdequateVersion) { - $accountsModule = Import-Module -Name $accountsName -MinimumVersion 2.7.5 -Scope Global -PassThru - } - } - } - - if(-not $accountsModule) { - Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. For installation instructions, please see: https://learn.microsoft.com/powershell/azure/install-az-ps" -ErrorAction Stop - } elseif (($accountsModule.Version -lt [System.Version]'2.7.5') -and (-not $localAccounts)) { - Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. An earlier version of Az.Accounts is imported in the current PowerShell session. If you are running test, please try to add the switch '-RegenerateSupportModule' when executing 'test-module.ps1'. Otherwise please open a new PowerShell session and import this module again.`nAdditionally, this error could indicate that multiple incompatible versions of Azure PowerShell modules are installed on your system. For troubleshooting information, please see: https://aka.ms/azps-version-error" -ErrorAction Stop - } - Write-Information "Loaded Module '$($accountsModule.Name)'" - - # Load the private module dll - $null = Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.StackHCIVM.private.dll') - - # Get the private module's instance - $instance = [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module]::Instance - - # Ask for the shared functionality table - $VTable = Register-AzModule - - # Tweaks the pipeline on module load - $instance.OnModuleLoad = $VTable.OnModuleLoad - - # Following two delegates are added for telemetry - $instance.GetTelemetryId = $VTable.GetTelemetryId - $instance.Telemetry = $VTable.Telemetry - - - # Tweaks the pipeline per call - $instance.OnNewRequest = $VTable.OnNewRequest - - # Gets shared parameter values - $instance.GetParameterValue = $VTable.GetParameterValue - - # Allows shared module to listen to events from this module - $instance.EventListener = $VTable.EventListener - - # Gets shared argument completers - $instance.ArgumentCompleter = $VTable.ArgumentCompleter - - # The name of the currently selected Azure profile - $instance.ProfileName = $VTable.ProfileName - - - # Load the custom module - $customModulePath = Join-Path $PSScriptRoot './custom/Az.StackHCIVM.custom.psm1' - if(Test-Path $customModulePath) { - $null = Import-Module -Name $customModulePath - } - - # Export nothing to clear implicit exports - Export-ModuleMember - - # Export proxy cmdlet scripts - $exportsPath = Join-Path $PSScriptRoot './exports' - $directories = Get-ChildItem -Directory -Path $exportsPath - $profileDirectory = $null - if($instance.ProfileName) { - if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { - $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } - } else { - # Don't export anything if the profile doesn't exist for the module - $exportsPath = $null - Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." - } - } elseif(($directories | Measure-Object).Count -gt 0) { - # Load the last folder if no profile is selected - $profileDirectory = $directories | Select-Object -Last 1 - } - - if($profileDirectory) { - Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" - $exportsPath = $profileDirectory.FullName - } - - if($exportsPath) { - Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } - $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath - Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) - } - - # Finalize initialization of this module - $instance.Init(); - Write-Information "Loaded Module '$($instance.Name)'" -# endregion diff --git a/azstackhci-powershell/build-module.ps1 b/azstackhci-powershell/build-module.ps1 deleted file mode 100644 index b8bce559cb78..000000000000 --- a/azstackhci-powershell/build-module.ps1 +++ /dev/null @@ -1,180 +0,0 @@ -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- -param([switch]$NotIsolated, [switch]$Run, [switch]$Test, [switch]$Docs, [switch]$Pack, [switch]$Code, [switch]$Release, [switch]$Debugger, [switch]$NoDocs, [switch]$UX) -$ErrorActionPreference = 'Stop' - -if($PSEdition -ne 'Core') { - Write-Error 'This script requires PowerShell Core to execute. [Note] Generated cmdlets will work in both PowerShell Core or Windows PowerShell.' -} - -if(-not $NotIsolated -and -not $Debugger) { - Write-Host -ForegroundColor Green 'Creating isolated process...' - $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path - & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated - - if($LastExitCode -ne 0) { - # Build failed. Don't attempt to run the module. - return - } - - if($Test) { - . (Join-Path $PSScriptRoot 'test-module.ps1') - if($LastExitCode -ne 0) { - # Tests failed. Don't attempt to run the module. - return - } - } - - if($Docs) { - . (Join-Path $PSScriptRoot 'generate-help.ps1') - if($LastExitCode -ne 0) { - # Docs generation failed. Don't attempt to run the module. - return - } - } - - if($UX) { - . (Join-Path $PSScriptRoot 'generate-portal-ux.ps1') - if($LastExitCode -ne 0) { - # UX generation failed. Don't attempt to run the module. - return - } - } - - if($Pack) { - . (Join-Path $PSScriptRoot 'pack-module.ps1') - if($LastExitCode -ne 0) { - # Packing failed. Don't attempt to run the module. - return - } - } - - $runModulePath = Join-Path $PSScriptRoot 'run-module.ps1' - if($Code) { - . $runModulePath -Code - } elseif($Run) { - . $runModulePath - } else { - Write-Host -ForegroundColor Cyan "To run this module in an isolated PowerShell session, run the 'run-module.ps1' script or provide the '-Run' parameter to this script." - } - return -} - -$binFolder = Join-Path $PSScriptRoot 'bin' -$objFolder = Join-Path $PSScriptRoot 'obj' - -if(-not $Debugger) { - Write-Host -ForegroundColor Green 'Cleaning build folders...' - $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path $binFolder, $objFolder - - if((Test-Path $binFolder) -or (Test-Path $objFolder)) { - Write-Host -ForegroundColor Cyan 'Did you forget to exit your isolated module session before rebuilding?' - Write-Error 'Unable to clean ''bin'' or ''obj'' folder. A process may have an open handle.' - } - - Write-Host -ForegroundColor Green 'Compiling module...' - $buildConfig = 'Debug' - if($Release) { - $buildConfig = 'Release' - } - dotnet publish $PSScriptRoot --verbosity quiet --configuration $buildConfig /nologo - if($LastExitCode -ne 0) { - Write-Error 'Compilation failed.' - } - - $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path (Join-Path $binFolder 'Debug'), (Join-Path $binFolder 'Release') -} - -$dll = Join-Path $PSScriptRoot 'bin\Az.StackHCIVM.private.dll' -if(-not (Test-Path $dll)) { - Write-Error "Unable to find output assembly in '$binFolder'." -} - -# Load DLL to use build-time cmdlets -$null = Import-Module -Name $dll - -$modulePaths = $dll -$customPsm1 = Join-Path $PSScriptRoot 'custom\Az.StackHCIVM.custom.psm1' -if(Test-Path $customPsm1) { - $modulePaths = @($dll, $customPsm1) -} - -$exportsFolder = Join-Path $PSScriptRoot 'exports' -if(Test-Path $exportsFolder) { - $null = Get-ChildItem -Path $exportsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue -} -$null = New-Item -ItemType Directory -Force -Path $exportsFolder - -$internalFolder = Join-Path $PSScriptRoot 'internal' -if(Test-Path $internalFolder) { - $null = Get-ChildItem -Path $internalFolder -Recurse -Exclude '*.psm1', 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue -} -$null = New-Item -ItemType Directory -Force -Path $internalFolder - -$psd1 = Join-Path $PSScriptRoot './Az.StackHCIVM.psd1' -$guid = Get-ModuleGuid -Psd1Path $psd1 -$moduleName = 'Az.StackHCIVM' -$examplesFolder = Join-Path $PSScriptRoot 'examples' -$null = New-Item -ItemType Directory -Force -Path $examplesFolder - -Write-Host -ForegroundColor Green 'Creating cmdlets for specified models...' -$modelCmdlets = @() -$modelCmdletFolder = Join-Path (Join-Path $PSScriptRoot './custom') 'autogen-model-cmdlets' -if (Test-Path $modelCmdletFolder) { - $null = Remove-Item -Force -Recurse -Path $modelCmdletFolder -} -if ($modelCmdlets.Count -gt 0) { - . (Join-Path $PSScriptRoot 'create-model-cmdlets.ps1') - CreateModelCmdlet($modelCmdlets) -} - -if($NoDocs) { - Write-Host -ForegroundColor Green 'Creating exports...' - Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ExcludeDocs -ExamplesFolder $examplesFolder -} else { - Write-Host -ForegroundColor Green 'Creating exports and docs...' - $moduleDescription = 'Microsoft Azure PowerShell: StackHcivm cmdlets' - $docsFolder = Join-Path $PSScriptRoot 'docs' - if(Test-Path $docsFolder) { - $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue - } - $null = New-Item -ItemType Directory -Force -Path $docsFolder - $addComplexInterfaceInfo = ![System.Convert]::ToBoolean('true') - Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ModuleDescription $moduleDescription -DocsFolder $docsFolder -ExamplesFolder $examplesFolder -ModuleGuid $guid -AddComplexInterfaceInfo:$addComplexInterfaceInfo -} - -Write-Host -ForegroundColor Green 'Creating format.ps1xml...' -$formatPs1xml = Join-Path $PSScriptRoot './Az.StackHCIVM.format.ps1xml' -Export-FormatPs1xml -FilePath $formatPs1xml - -Write-Host -ForegroundColor Green 'Creating psd1...' -$customFolder = Join-Path $PSScriptRoot 'custom' -Export-Psd1 -ExportsFolder $exportsFolder -CustomFolder $customFolder -Psd1Path $psd1 -ModuleGuid $guid - -Write-Host -ForegroundColor Green 'Creating test stubs...' -$testFolder = Join-Path $PSScriptRoot 'test' -$null = New-Item -ItemType Directory -Force -Path $testFolder -Export-TestStub -ModuleName $moduleName -ExportsFolder $exportsFolder -OutputFolder $testFolder - -Write-Host -ForegroundColor Green 'Creating example stubs...' -Export-ExampleStub -ExportsFolder $exportsFolder -OutputFolder $examplesFolder - -if (Test-Path (Join-Path $PSScriptRoot 'generate-portal-ux.ps1')) -{ - Write-Host -ForegroundColor Green 'Creating ux metadata...' - . (Join-Path $PSScriptRoot 'generate-portal-ux.ps1') -} - -Write-Host -ForegroundColor Green '-------------Done-------------' diff --git a/azstackhci-powershell/check-dependencies.ps1 b/azstackhci-powershell/check-dependencies.ps1 deleted file mode 100644 index 90ca9867ae40..000000000000 --- a/azstackhci-powershell/check-dependencies.ps1 +++ /dev/null @@ -1,65 +0,0 @@ -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- -param([switch]$NotIsolated, [switch]$Accounts, [switch]$Pester, [switch]$Resources) -$ErrorActionPreference = 'Stop' - -if(-not $NotIsolated) { - Write-Host -ForegroundColor Green 'Creating isolated process...' - $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path - & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated - return -} - -function DownloadModule ([bool]$predicate, [string]$path, [string]$moduleName, [string]$versionMinimum, [string]$requiredVersion) { - if($predicate) { - $module = Get-Module -ListAvailable -Name $moduleName - if((-not $module) -or ($versionMinimum -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -ge [System.Version]$versionMinimum } | Measure-Object).Count -eq 0) -or ($requiredVersion -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -eq [System.Version]$requiredVersion } | Measure-Object).Count -eq 0)) { - $null = New-Item -ItemType Directory -Force -Path $path - Write-Host -ForegroundColor Green "Installing local $moduleName module into '$path'..." - if ($requiredVersion) { - Find-Module -Name $moduleName -RequiredVersion $requiredVersion -Repository PSGallery | Save-Module -Path $path - }elseif($versionMinimum) { - Find-Module -Name $moduleName -MinimumVersion $versionMinimum -Repository PSGallery | Save-Module -Path $path - } else { - Find-Module -Name $moduleName -Repository PSGallery | Save-Module -Path $path - } - } - } -} - -$ProgressPreference = 'SilentlyContinue' -$all = (@($Accounts.IsPresent, $Pester.IsPresent) | Select-Object -Unique | Measure-Object).Count -eq 1 - -$localModulesPath = Join-Path $PSScriptRoot 'generated\modules' -if(Test-Path -Path $localModulesPath) { - $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" -} - -DownloadModule -predicate ($all -or $Accounts) -path $localModulesPath -moduleName 'Az.Accounts' -versionMinimum '2.7.5' -DownloadModule -predicate ($all -or $Pester) -path $localModulesPath -moduleName 'Pester' -requiredVersion '4.10.1' - -$tools = Join-Path $PSScriptRoot 'tools' -$resourceDir = Join-Path $tools 'Resources' -$resourceModule = Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psm1' - -if ($Resources.IsPresent -and ((-not (Test-Path -Path $resourceModule)) -or $RegenerateSupportModule.IsPresent)) { - Write-Host -ForegroundColor Green "Building local Resource module used for test..." - Set-Location $resourceDir - $null = autorest .\README.md --use:@autorest/powershell@3.0.414 --output-folder=$HOME/.PSSharedModules/Resources - $null = Copy-Item custom/* $HOME/.PSSharedModules/Resources/custom/ - Set-Location $HOME/.PSSharedModules/Resources - $null = .\build-module.ps1 - Set-Location $PSScriptRoot -} diff --git a/azstackhci-powershell/create-model-cmdlets.ps1 b/azstackhci-powershell/create-model-cmdlets.ps1 deleted file mode 100644 index c4ea5dd0d6a8..000000000000 --- a/azstackhci-powershell/create-model-cmdlets.ps1 +++ /dev/null @@ -1,262 +0,0 @@ -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- - -function CreateModelCmdlet { - - param([Hashtable[]]$Models) - - if ($Models.Count -eq 0) - { - return - } - - $ModelCsPath = Join-Path (Join-Path $PSScriptRoot 'generated\api') 'Models' - $OutputDir = Join-Path $PSScriptRoot 'custom\autogen-model-cmdlets' - $null = New-Item -ItemType Directory -Force -Path $OutputDir - if (''.length -gt 0) { - $ModuleName = '' - } else { - $ModuleName = 'Az.StackHCIVM' - } - $CsFiles = Get-ChildItem -Path $ModelCsPath -Recurse -Filter *.cs - $Content = '' - $null = $CsFiles | ForEach-Object -Process { if ($_.Name.Split('.').count -eq 2 ) - { $Content += get-content $_.fullname -raw - } } - - $Tree = [Microsoft.CodeAnalysis.CSharp.SyntaxFactory]::ParseCompilationUnit($Content) - $Nodes = $Tree.ChildNodes().ChildNodes() - $classConstantMember = @{} - foreach ($Model in $Models) - { - $ModelName = $Model.modelName - $InterfaceNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq "I$ModelName") } - $ClassNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'class') -and ($_.Identifier.value -eq "$ModelName") } - $classConstantMember = @() - foreach ($class in $ClassNode) { - foreach ($member in $class.Members) { - $isConstant = $false - foreach ($attr in $member.AttributeLists) { - $memberName = $attr.Attributes.Name.ToString() - if ($memberName.EndsWith('.Constant')) { - $isConstant = $true - break - } - } - if (($member.Modifiers.ToString() -eq 'public') -and $isConstant) { - $classConstantMember += $member.Identifier.Value - } - } - } - if ($InterfaceNode.count -eq 0) { - continue - } - # through a queue, we iterate all the parent models. - $Queue = @($InterfaceNode) - $visited = @("I$ModelName") - $AllInterfaceNodes = @() - while ($Queue.count -ne 0) - { - $AllInterfaceNodes += $Queue[0] - # Baselist contains the direct parent models. - foreach ($parent in $Queue[0].BaseList.Types) - { - if (($parent.Type.Right.Identifier.Value -ne 'IJsonSerializable') -and (-not $visited.Contains($parent.Type.Right.Identifier.Value))) - { - $Queue = [Array]$Queue + ($Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq $parent.Type.Right.Identifier.Value) }) - $visited = [Array]$visited + $parent.Type.Right.Identifier.Value - } - } - $first, $Queue = $Queue - } - - $Namespace = $InterfaceNode.Parent.Name - $ObjectType = $ModelName - $ObjectTypeWithNamespace = "${Namespace}.${ObjectType}" - # remove duplicated module name - if ($ObjectType.StartsWith('StackHCIVM')) { - $ModulePrefix = '' - } else { - $ModulePrefix = 'StackHCIVM' - } - $OutputPath = Join-Path -ChildPath "New-Az${ModulePrefix}${ObjectType}Object.ps1" -Path $OutputDir - - $ParameterDefineScriptList = New-Object System.Collections.Generic.List[string] - $ParameterAssignScriptList = New-Object System.Collections.Generic.List[string] - foreach ($Node in $AllInterfaceNodes) - { - foreach ($Member in $Node.Members) - { - if ($classConstantMember.Contains($Member.Identifier.Value)) { - # skip constant member - continue - } - $Arguments = $Member.AttributeLists.Attributes.ArgumentList.Arguments - $Required = $false - $Description = "" - $Readonly = $False - $mutability = @{Read = $true; Create = $true; Update = $true} - foreach ($Argument in $Arguments) - { - if ($Argument.NameEquals.Name.Identifier.Value -eq "Required") - { - $Required = $Argument.Expression.Token.Value - } - if ($Argument.NameEquals.Name.Identifier.Value -eq "Description") - { - $Description = $Argument.Expression.Token.Value.Trim('.').replace('"', '`"') - } - if ($Argument.NameEquals.Name.Identifier.Value -eq "Readonly") - { - $Readonly = $Argument.Expression.Token.Value - } - if ($Argument.NameEquals.Name.Identifier.Value -eq "Read") - { - $mutability.Read = $Argument.Expression.Token.Value - } - if ($Argument.NameEquals.Name.Identifier.Value -eq "Create") - { - $mutability.Create = $Argument.Expression.Token.Value - } - if ($Argument.NameEquals.Name.Identifier.Value -eq "Update") - { - $mutability.Update = $Argument.Expression.Token.Value - } - } - if ($Readonly) - { - continue - } - $Identifier = $Member.Identifier.Value - $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1] - $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1] - if ($Type.StartsWith("System.Collections.Generic.List")) - { - # if the type is a list, we need to convert it to array - $matched = $Type -match '\<(?.+)\>$' - if ($matched) - { - $Type = $matches.Name + '[]'; - } - } - $ParameterDefinePropertyList = New-Object System.Collections.Generic.List[string] - if ($Required -and $mutability.Create -and $mutability.Update) - { - $ParameterDefinePropertyList.Add("Mandatory") - } - if ($Description -ne "") - { - $ParameterDefinePropertyList.Add("HelpMessage=`"${Description}.`"") - } - $ParameterDefineProperty = [System.String]::Join(", ", $ParameterDefinePropertyList) - # check whether completer is needed - $completer = ''; - if(IsEnumType($Member)){ - $completer += GetCompleter($Member) - } - $ParameterDefineScript = " - [Parameter($ParameterDefineProperty)]${completer} - [${Type}] - `$${Identifier}" - $ParameterDefineScriptList.Add($ParameterDefineScript) - $ParameterAssignScriptList.Add(" - if (`$PSBoundParameters.ContainsKey('${Identifier}')) { - `$Object.${Identifier} = `$${Identifier} - }") - } - } - $ParameterDefineScript = $ParameterDefineScriptList | Join-String -Separator "," - $ParameterAssignScript = $ParameterAssignScriptList | Join-String -Separator "" - - $cmdletName = "New-Az${ModulePrefix}${ObjectType}Object" - if ('' -ne $Model.cmdletName) { - $cmdletName = $Model.cmdletName - } - $OutputPath = Join-Path -ChildPath "${cmdletName}.ps1" -Path $OutputDir - $cmdletNameInLowerCase = $cmdletName.ToLower() - $Script = " -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the ""License""); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an ""AS IS"" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- - -<# -.Synopsis -Create an in-memory object for ${ObjectType}. -.Description -Create an in-memory object for ${ObjectType}. - -.Outputs -${ObjectTypeWithNamespace} -.Link -https://learn.microsoft.com/powershell/module/${ModuleName}/${cmdletNameInLowerCase} -#> -function ${cmdletName} { - [OutputType('${ObjectTypeWithNamespace}')] - [CmdletBinding(PositionalBinding=`$false)] - Param( -${ParameterDefineScript} - ) - - process { - `$Object = [${ObjectTypeWithNamespace}]::New() -${ParameterAssignScript} - return `$Object - } -} -" - Set-Content -Path $OutputPath -Value $Script - } -} - -function IsEnumType { - param ( - [Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax]$property - ) - $isEnum = $false - foreach ($attr in $property.AttributeLists) { - $attributeName = $attr.Attributes.Name.ToString() - if ($attributeName.Contains('ArgumentCompleter')) { - $isEnum = $true - break - } - } - return $isEnum; -} - -function GetCompleter { - param ( - [Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax]$property - ) - foreach ($attr in $property.AttributeLists) { - $attributeName = $attr.Attributes.Name.ToString() - if ($attributeName.Contains('ArgumentCompleter')) { - $attributeName = $attributeName.Split("::")[-1] - $possibleValues = [System.String]::Join(", ", $attr.Attributes.ArgumentList.Arguments) - $completer += "`n [${attributeName}(${possibleValues})]" - return $completer - } - } -} diff --git a/azstackhci-powershell/custom/Az.StackHCIVm.custom.psm1 b/azstackhci-powershell/custom/Az.StackHCIVm.custom.psm1 deleted file mode 100644 index fd4a0e930cbf..000000000000 --- a/azstackhci-powershell/custom/Az.StackHCIVm.custom.psm1 +++ /dev/null @@ -1,17 +0,0 @@ -# region Generated - # Load the private module dll - $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.StackHCIVM.private.dll') - - # Load the internal module - $internalModulePath = Join-Path $PSScriptRoot '..\internal\Az.StackHCIVM.internal.psm1' - if(Test-Path $internalModulePath) { - $null = Import-Module -Name $internalModulePath - } - - # Export nothing to clear implicit exports - Export-ModuleMember - - # Export script cmdlets - Get-ChildItem -Path $PSScriptRoot -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } - Export-ModuleMember -Function (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot) -Alias (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot -AsAlias) -# endregion diff --git a/azstackhci-powershell/custom/README.md b/azstackhci-powershell/custom/README.md deleted file mode 100644 index ccc698fea728..000000000000 --- a/azstackhci-powershell/custom/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Custom -This directory contains custom implementation for non-generated cmdlets for the `Az.StackHCIVM` module. Both scripts (`.ps1`) and C# files (`.cs`) can be implemented here. They will be used during the build process in `build-module.ps1`, and create cmdlets into the `..\exports` folder. The only generated file into this folder is the `Az.StackHCIVM.custom.psm1`. This file should not be modified. - -## Info -- Modifiable: yes -- Generated: partial -- Committed: yes -- Packaged: yes - -## Details -For `Az.StackHCIVM` to use custom cmdlets, it does this two different ways. We **highly recommend** creating script cmdlets, as they are easier to write and allow access to the other exported cmdlets. C# cmdlets *cannot access exported cmdlets*. - -For C# cmdlets, they are compiled with the rest of the generated low-level cmdlets into the `./bin/Az.StackHCIVM.private.dll`. The names of the cmdlets (methods) and files must follow the `[cmdletName]_[variantName]` syntax used for generated cmdlets. The `variantName` is used as the `ParameterSetName`, so use something appropriate that doesn't clash with already created variant or parameter set names. You cannot use the `ParameterSetName` property in the `Parameter` attribute on C# cmdlets. Each cmdlet must be separated into variants using the same pattern as seen in the `generated/cmdlets` folder. - -For script cmdlets, these are loaded via the `Az.StackHCIVM.custom.psm1`. Then, during the build process, this module is loaded and processed in the same manner as the C# cmdlets. The fundamental difference is the script cmdlets use the `ParameterSetName` attribute and C# cmdlets do not. To create a script cmdlet variant of a generated cmdlet, simply decorate all parameters in the script with the new `ParameterSetName` in the `Parameter` attribute. This will appropriately treat each parameter set as a separate variant when processed to be exported during the build. - -## Purpose -This allows the modules to have cmdlets that were not defined in the REST specification. It also allows combining logic using generated cmdlets. This is a level of customization beyond what can be done using the [readme configuration options](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md) that are currently available. These custom cmdlets are then referenced by the cmdlets created at build-time in the `..\exports` folder. - -## Usage -The easiest way currently to start developing custom cmdlets is to copy an existing cmdlet. For C# cmdlets, copy one from the `generated/cmdlets` folder. For script cmdlets, build the project using `build-module.ps1` and copy one of the scripts from the `..\exports` folder. After that, if you want to add new parameter sets, follow the guidelines in the `Details` section above. For implementing a new cmdlets, at minimum, please keep these parameters: -- Break -- DefaultProfile -- HttpPipelineAppend -- HttpPipelinePrepend -- Proxy -- ProxyCredential -- ProxyUseDefaultCredentials - -These provide functionality to our HTTP pipeline and other useful features. In script, you can forward these parameters using `$PSBoundParameters` to the other cmdlets you're calling within `Az.StackHCIVM`. For C#, follow the usage seen in the `ProcessRecordAsync` method. - -### Attributes -For processing the cmdlets, we've created some additional attributes: -- `Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DescriptionAttribute` - - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts. -- `Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExportAttribute` - - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.StackHCIVM`. -- `Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExportAttribute` - - Used in C# cmdlets to route exported cmdlets to the `..\internal`, which are *not exposed* by `Az.StackHCIVM`. For more information, see [README.md](..\internal/README.md) in the `..\internal` folder. -- `Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ProfileAttribute` - - Used in C# and script cmdlets to define which Azure profiles the cmdlet supports. This is only supported for Azure (`--azure`) modules. \ No newline at end of file diff --git a/azstackhci-powershell/docs/README.md b/azstackhci-powershell/docs/README.md deleted file mode 100644 index 0cc1e488b46e..000000000000 --- a/azstackhci-powershell/docs/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Docs -This directory contains the documentation of the cmdlets for the `Az.StackHCIVM` module. To run documentation generation, use the `generate-help.ps1` script at the root module folder. Files in this folder will *always be overridden on regeneration*. To update documentation examples, please use the `..\examples` folder. - -## Info -- Modifiable: no -- Generated: all -- Committed: yes -- Packaged: yes - -## Details -The process of documentation generation loads `Az.StackHCIVM` and analyzes the exported cmdlets from the module. It recognizes the [help comments](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) that are generated into the scripts in the `..\exports` folder. Additionally, when writing custom cmdlets in the `..\custom` folder, you can use the help comments syntax, which decorate the exported scripts at build-time. The documentation examples are taken from the `..\examples` folder. \ No newline at end of file diff --git a/azstackhci-powershell/export-surface.ps1 b/azstackhci-powershell/export-surface.ps1 deleted file mode 100644 index 48b1907bc703..000000000000 --- a/azstackhci-powershell/export-surface.ps1 +++ /dev/null @@ -1,41 +0,0 @@ -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- -param([switch]$NotIsolated, [switch]$IncludeGeneralParameters, [switch]$UseExpandedFormat) -$ErrorActionPreference = 'Stop' - -$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path -if(-not $NotIsolated) { - Write-Host -ForegroundColor Green 'Creating isolated process...' - & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated - return -} - -$dll = Join-Path $PSScriptRoot 'bin\Az.StackHCIVM.private.dll' -if(-not (Test-Path $dll)) { - Write-Error "Unable to find output assembly in '$binFolder'." -} -$null = Import-Module -Name $dll - -$moduleName = 'Az.StackHCIVM' -$exportsFolder = Join-Path $PSScriptRoot 'exports' -$resourcesFolder = Join-Path $PSScriptRoot 'resources' - -Export-CmdletSurface -ModuleName $moduleName -CmdletFolder $exportsFolder -OutputFolder $resourcesFolder -IncludeGeneralParameters $IncludeGeneralParameters.IsPresent -UseExpandedFormat $UseExpandedFormat.IsPresent -Write-Host -ForegroundColor Green "CmdletSurface file(s) created in '$resourcesFolder'" - -Export-ModelSurface -OutputFolder $resourcesFolder -UseExpandedFormat $UseExpandedFormat.IsPresent -Write-Host -ForegroundColor Green "ModelSurface file created in '$resourcesFolder'" - -Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/azstackhci-powershell/exports/README.md b/azstackhci-powershell/exports/README.md deleted file mode 100644 index 4d0444937e20..000000000000 --- a/azstackhci-powershell/exports/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Exports -This directory contains the cmdlets *exported by* `Az.StackHCIVM`. No other cmdlets in this repository are directly exported. What that means is the `Az.StackHCIVM` module will run [Export-ModuleMember](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/export-modulemember) on the cmldets in this directory. The cmdlets in this directory are generated at **build-time**. Do not put any custom code, files, cmdlets, etc. into this directory. Please use `..\custom` for all custom implementation. - -## Info -- Modifiable: no -- Generated: all -- Committed: no -- Packaged: yes - -## Details -The cmdlets generated here are created every time you run `build-module.ps1`. These cmdlets are a merge of all (excluding `InternalExport`) cmdlets from the private binary (`..\bin\Az.StackHCIVM.private.dll`) and from the `..\custom\Az.StackHCIVM.custom.psm1` module. Cmdlets that are *not merged* from those directories are decorated with the `InternalExport` attribute. This happens when you set the cmdlet to **hide** from configuration. For more information on hiding, see [cmdlet hiding](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md#cmdlet-hiding-exportation-suppression) or the [README.md](..\internal/README.md) in the `..\internal` folder. - -## Purpose -We generate script cmdlets out of the binary cmdlets and custom cmdlets. The format of script cmdlets are simplistic; thus, easier to generate at build time. Generating the cmdlets is required as to allow merging of generated binary, hand-written binary, and hand-written custom cmdlets. For Azure cmdlets, having script cmdlets simplifies the mechanism for exporting Azure profiles. - -## Structure -The cmdlets generated here will flat in the directory (no sub-folders) as long as there are no Azure profiles specified for any cmdlets. Azure profiles (the `Profiles` attribute) is only applied when generating with the `--azure` attribute (or `azure: true` in the configuration). When Azure profiles are applied, the folder structure has a folder per profile. Each profile folder has only those cmdlets that apply to that profile. - -## Usage -When `./Az.StackHCIVM.psm1` is loaded, it dynamically exports cmdlets here based on the folder structure and on the selected profile. If there are no sub-folders, it exports all cmdlets at the root of this folder. If there are sub-folders, it checks to see the selected profile. If no profile is selected, it exports the cmdlets in the last sub-folder (alphabetically). If a profile is selected, it exports the cmdlets in the sub-folder that matches the profile name. If there is no sub-folder that matches the profile name, it exports no cmdlets and writes a warning message. \ No newline at end of file diff --git a/azstackhci-powershell/generated/api/Models/OperationListResult.PowerShell.cs b/azstackhci-powershell/generated/api/Models/OperationListResult.PowerShell.cs deleted file mode 100644 index 7001b3cfb4a4..000000000000 --- a/azstackhci-powershell/generated/api/Models/OperationListResult.PowerShell.cs +++ /dev/null @@ -1,164 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models -{ - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - - ///

    The List Compute Operation operation response. - [System.ComponentModel.TypeConverter(typeof(OperationListResultTypeConverter))] - public partial class OperationListResult - { - - /// - /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the - /// object before it is returned. Implement this method in a partial class to enable this behavior - /// - /// The global::System.Collections.IDictionary content that should be used. - - partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); - - /// - /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object - /// before it is returned. Implement this method in a partial class to enable this behavior - /// - /// The global::System.Management.Automation.PSObject content that should be used. - - partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); - - /// - /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization - /// of the object before it is deserialized. - /// If you wish to disable the default deserialization entirely, return true in the output - /// parameter. - /// Implement this method in a partial class to enable this behavior. - /// - /// The global::System.Collections.IDictionary content that should be used. - /// Determines if the rest of the serialization should be processed, or if the method should return - /// instantly. - - partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); - - /// - /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization - /// of the object before it is deserialized. - /// If you wish to disable the default deserialization entirely, return true in the output - /// parameter. - /// Implement this method in a partial class to enable this behavior. - /// - /// The global::System.Management.Automation.PSObject content that should be used. - /// Determines if the rest of the serialization should be processed, or if the method should return - /// instantly. - - partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); - - /// - /// OverrideToString will be called if it is implemented. Implement this method in a partial class to enable this behavior - /// - /// /// instance serialized to a string, normally it is a Json - /// /// set returnNow to true if you provide a customized OverrideToString function - - partial void OverrideToString(ref string stringResult, ref bool returnNow); - - /// - /// Deserializes a into an instance of . - /// - /// The global::System.Collections.IDictionary content that should be used. - /// - /// an instance of . - /// - public static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) - { - return new OperationListResult(content); - } - - /// - /// Deserializes a into an instance of . - /// - /// The global::System.Management.Automation.PSObject content that should be used. - /// - /// an instance of . - /// - public static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) - { - return new OperationListResult(content); - } - - /// - /// Creates a new instance of , deserializing the content from a json string. - /// - /// a string containing a JSON serialized instance of this model. - /// an instance of the model class. - public static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(jsonText)); - - /// - /// Deserializes a into a new instance of . - /// - /// The global::System.Collections.IDictionary content that should be used. - internal OperationListResult(global::System.Collections.IDictionary content) - { - bool returnNow = false; - BeforeDeserializeDictionary(content, ref returnNow); - if (returnNow) - { - return; - } - // actually deserialize - if (content.Contains("Value")) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal)this).Value = (System.Collections.Generic.List) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToList(__y, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValueTypeConverter.ConvertFrom)); - } - AfterDeserializeDictionary(content); - } - - /// - /// Deserializes a into a new instance of . - /// - /// The global::System.Management.Automation.PSObject content that should be used. - internal OperationListResult(global::System.Management.Automation.PSObject content) - { - bool returnNow = false; - BeforeDeserializePSObject(content, ref returnNow); - if (returnNow) - { - return; - } - // actually deserialize - if (content.Contains("Value")) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal)this).Value = (System.Collections.Generic.List) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToList(__y, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValueTypeConverter.ConvertFrom)); - } - AfterDeserializePSObject(content); - } - - /// Serializes this instance to a json string. - - /// a containing this model serialized to JSON text. - public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeAll)?.ToString(); - - public override string ToString() - { - var returnNow = false; - var result = global::System.String.Empty; - OverrideToString(ref result, ref returnNow); - if (returnNow) - { - return result; - } - return ToJsonString(); - } - } - /// The List Compute Operation operation response. - [System.ComponentModel.TypeConverter(typeof(OperationListResultTypeConverter))] - public partial interface IOperationListResult - - { - - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/api/Models/OperationListResult.cs b/azstackhci-powershell/generated/api/Models/OperationListResult.cs deleted file mode 100644 index d706b3e3a082..000000000000 --- a/azstackhci-powershell/generated/api/Models/OperationListResult.cs +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - - /// The List Compute Operation operation response. - public partial class OperationListResult : - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal - { - - /// Internal Acessors for Value - System.Collections.Generic.List Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResultInternal.Value { get => this._value; set { {_value = value;} } } - - /// Backing field for property. - private System.Collections.Generic.List _value; - - /// The list of compute operations - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Origin(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PropertyOrigin.Owned)] - public System.Collections.Generic.List Value { get => this._value; } - - /// Creates an new instance. - public OperationListResult() - { - - } - } - /// The List Compute Operation operation response. - public partial interface IOperationListResult : - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IJsonSerializable - { - /// The list of compute operations - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = true, - Read = true, - Create = false, - Update = false, - Description = @"The list of compute operations", - SerializedName = @"value", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue) })] - System.Collections.Generic.List Value { get; } - - } - /// The List Compute Operation operation response. - internal partial interface IOperationListResultInternal - - { - /// The list of compute operations - System.Collections.Generic.List Value { get; set; } - - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/api/Models/OperationListResult.json.cs b/azstackhci-powershell/generated/api/Models/OperationListResult.json.cs deleted file mode 100644 index 3e550e2911f8..000000000000 --- a/azstackhci-powershell/generated/api/Models/OperationListResult.json.cs +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - - /// The List Compute Operation operation response. - public partial class OperationListResult - { - - /// - /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object - /// before it is returned. Implement this method in a partial class to enable this behavior - /// - /// The JsonNode that should be deserialized into this object. - - partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json); - - /// - /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior - /// - /// The JSON container that the serialization result will be placed in. - - partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject container); - - /// - /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of - /// the object before it is deserialized. - /// If you wish to disable the default deserialization entirely, return true in the - /// output parameter. - /// Implement this method in a partial class to enable this behavior. - /// - /// The JsonNode that should be deserialized into this object. - /// Determines if the rest of the deserialization should be processed, or if the method should return - /// instantly. - - partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json, ref bool returnNow); - - /// - /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the - /// object before it is serialized. - /// If you wish to disable the default serialization entirely, return true in the output - /// parameter. - /// Implement this method in a partial class to enable this behavior. - /// - /// The JSON container that the serialization result will be placed in. - /// Determines if the rest of the serialization should be processed, or if the method should return - /// instantly. - - partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject container, ref bool returnNow); - - /// - /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult. - /// - /// a to deserialize from. - /// - /// an instance of Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult. - /// - public static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode node) - { - return node is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json ? new OperationListResult(json) : null; - } - - /// - /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject into a new instance of . - /// - /// A Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject instance to deserialize from. - internal OperationListResult(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - bool returnNow = false; - BeforeFromJson(json, ref returnNow); - if (returnNow) - { - return; - } - {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonArray, out var __v) ? new global::System.Func>(()=> global::System.Linq.Enumerable.ToList(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue) (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationValue.FromJson(__u) )) ))() : null : _value;} - AfterFromJson(json); - } - - /// - /// Serializes this instance of into a . - /// - /// The container to serialize this object into. If the caller - /// passes in null, a new instance will be created and returned to the caller. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// a serialized instance of as a . - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode) - { - container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject(); - - bool returnNow = false; - BeforeToJson(ref container, ref returnNow); - if (returnNow) - { - return container; - } - if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeRead)) - { - if (null != this._value) - { - var __w = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.XNodeArray(); - foreach( var __x in this._value ) - { - AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); - } - container.Add("value",__w); - } - } - AfterToJson(ref container); - return container; - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/api/StackHciVM.cs b/azstackhci-powershell/generated/api/StackHciVM.cs deleted file mode 100644 index a44b736ee69f..000000000000 --- a/azstackhci-powershell/generated/api/StackHciVM.cs +++ /dev/null @@ -1,27714 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - - /// - /// Low-level API implementation for the StackHCIVM service. - /// The Microsoft.AzureStackHCI Rest API spec - /// - public partial class StackHcivm - { - - /// Gets an Agent Version along with the download link currently present. - /// Defines the os type - /// Defines the agent version. To get latest, use latest or else a specific agent version. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task AgentVersionGet(string osType, string version, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/osType/" - + global::System.Uri.EscapeDataString(osType) - + "/agentVersions/" - + global::System.Uri.EscapeDataString(version) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.AgentVersionGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets an Agent Version along with the download link currently present. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task AgentVersionGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/osType/(?[^/]+)/agentVersions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions/{version}'"); - } - - // replace URI parameters with values from identity - var osType = _match.Groups["osType"].Value; - var version = _match.Groups["version"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/osType/" - + osType - + "/agentVersions/" - + version - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.AgentVersionGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets an Agent Version along with the download link currently present. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task AgentVersionGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/osType/(?[^/]+)/agentVersions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions/{version}'"); - } - - // replace URI parameters with values from identity - var osType = _match.Groups["osType"].Value; - var version = _match.Groups["version"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/osType/" - + osType - + "/agentVersions/" - + version - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.AgentVersionGetWithResult_Call (request, eventListener,sender); - } - } - - /// Gets an Agent Version along with the download link currently present. - /// Defines the os type - /// Defines the agent version. To get latest, use latest or else a specific agent version. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task AgentVersionGetWithResult(string osType, string version, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/osType/" - + global::System.Uri.EscapeDataString(osType) - + "/agentVersions/" - + global::System.Uri.EscapeDataString(version) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.AgentVersionGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task AgentVersionGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersion.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponseAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task AgentVersionGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersion.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponseAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// Defines the os type - /// Defines the agent version. To get latest, use latest or else a specific agent version. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task AgentVersionGet_Validate(string osType, string version, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(osType),osType); - await eventListener.AssertNotNull(nameof(version),version); - } - } - - /// Gets all Agent Versions along with the download link currently present. - /// Defines the os type. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task AgentVersionList(string osType, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/osType/" - + global::System.Uri.EscapeDataString(osType) - + "/agentVersions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.AgentVersionList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets all Agent Versions along with the download link currently present. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task AgentVersionListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/osType/(?[^/]+)/agentVersions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions'"); - } - - // replace URI parameters with values from identity - var osType = _match.Groups["osType"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/osType/" - + osType - + "/agentVersions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.AgentVersionList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets all Agent Versions along with the download link currently present. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task AgentVersionListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/osType/(?[^/]+)/agentVersions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions'"); - } - - // replace URI parameters with values from identity - var osType = _match.Groups["osType"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/osType/" - + osType - + "/agentVersions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.AgentVersionListWithResult_Call (request, eventListener,sender); - } - } - - /// Gets all Agent Versions along with the download link currently present. - /// Defines the os type. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task AgentVersionListWithResult(string osType, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/osType/" - + global::System.Uri.EscapeDataString(osType) - + "/agentVersions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.AgentVersionListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task AgentVersionListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersionsList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponseAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task AgentVersionList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.AgentVersionsList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponseAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// Defines the os type. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task AgentVersionList_Validate(string osType, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(osType),osType); - } - } - - /// - /// Gets an Extension Metadata based on location, publisher, extensionType and version - /// - /// The ID of the target subscription. - /// The location of the Extension being received. - /// The publisher of the Extension being received. - /// The extensionType of the Extension being received. - /// The version of the Extension being received. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task ExtensionMetadataGet(string subscriptionId, string location, string publisher, string extensionType, string version, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.HybridCompute/locations/" - + global::System.Uri.EscapeDataString(location) - + "/publishers/" - + global::System.Uri.EscapeDataString(publisher) - + "/extensionTypes/" - + global::System.Uri.EscapeDataString(extensionType) - + "/versions/" - + global::System.Uri.EscapeDataString(version) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.ExtensionMetadataGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Gets an Extension Metadata based on location, publisher, extensionType and version - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task ExtensionMetadataGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/locations/(?[^/]+)/publishers/(?[^/]+)/extensionTypes/(?[^/]+)/versions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var location = _match.Groups["location"].Value; - var publisher = _match.Groups["publisher"].Value; - var extensionType = _match.Groups["extensionType"].Value; - var version = _match.Groups["version"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.HybridCompute/locations/" - + location - + "/publishers/" - + publisher - + "/extensionTypes/" - + extensionType - + "/versions/" - + version - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.ExtensionMetadataGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Gets an Extension Metadata based on location, publisher, extensionType and version - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task ExtensionMetadataGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/locations/(?[^/]+)/publishers/(?[^/]+)/extensionTypes/(?[^/]+)/versions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var location = _match.Groups["location"].Value; - var publisher = _match.Groups["publisher"].Value; - var extensionType = _match.Groups["extensionType"].Value; - var version = _match.Groups["version"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.HybridCompute/locations/" - + location - + "/publishers/" - + publisher - + "/extensionTypes/" - + extensionType - + "/versions/" - + version - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.ExtensionMetadataGetWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Gets an Extension Metadata based on location, publisher, extensionType and version - /// - /// The ID of the target subscription. - /// The location of the Extension being received. - /// The publisher of the Extension being received. - /// The extensionType of the Extension being received. - /// The version of the Extension being received. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task ExtensionMetadataGetWithResult(string subscriptionId, string location, string publisher, string extensionType, string version, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.HybridCompute/locations/" - + global::System.Uri.EscapeDataString(location) - + "/publishers/" - + global::System.Uri.EscapeDataString(publisher) - + "/extensionTypes/" - + global::System.Uri.EscapeDataString(extensionType) - + "/versions/" - + global::System.Uri.EscapeDataString(version) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.ExtensionMetadataGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task ExtensionMetadataGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValue.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task ExtensionMetadataGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValue.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The location of the Extension being received. - /// The publisher of the Extension being received. - /// The extensionType of the Extension being received. - /// The version of the Extension being received. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task ExtensionMetadataGet_Validate(string subscriptionId, string location, string publisher, string extensionType, string version, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(location),location); - await eventListener.AssertNotNull(nameof(publisher),publisher); - await eventListener.AssertNotNull(nameof(extensionType),extensionType); - await eventListener.AssertNotNull(nameof(version),version); - } - } - - /// Gets all Extension versions based on location, publisher, extensionType - /// The ID of the target subscription. - /// The location of the Extension being received. - /// The publisher of the Extension being received. - /// The extensionType of the Extension being received. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task ExtensionMetadataList(string subscriptionId, string location, string publisher, string extensionType, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.HybridCompute/locations/" - + global::System.Uri.EscapeDataString(location) - + "/publishers/" - + global::System.Uri.EscapeDataString(publisher) - + "/extensionTypes/" - + global::System.Uri.EscapeDataString(extensionType) - + "/versions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.ExtensionMetadataList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets all Extension versions based on location, publisher, extensionType - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task ExtensionMetadataListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/locations/(?[^/]+)/publishers/(?[^/]+)/extensionTypes/(?[^/]+)/versions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var location = _match.Groups["location"].Value; - var publisher = _match.Groups["publisher"].Value; - var extensionType = _match.Groups["extensionType"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.HybridCompute/locations/" - + location - + "/publishers/" - + publisher - + "/extensionTypes/" - + extensionType - + "/versions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.ExtensionMetadataList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets all Extension versions based on location, publisher, extensionType - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task ExtensionMetadataListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/locations/(?[^/]+)/publishers/(?[^/]+)/extensionTypes/(?[^/]+)/versions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var location = _match.Groups["location"].Value; - var publisher = _match.Groups["publisher"].Value; - var extensionType = _match.Groups["extensionType"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.HybridCompute/locations/" - + location - + "/publishers/" - + publisher - + "/extensionTypes/" - + extensionType - + "/versions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.ExtensionMetadataListWithResult_Call (request, eventListener,sender); - } - } - - /// Gets all Extension versions based on location, publisher, extensionType - /// The ID of the target subscription. - /// The location of the Extension being received. - /// The publisher of the Extension being received. - /// The extensionType of the Extension being received. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task ExtensionMetadataListWithResult(string subscriptionId, string location, string publisher, string extensionType, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.HybridCompute/locations/" - + global::System.Uri.EscapeDataString(location) - + "/publishers/" - + global::System.Uri.EscapeDataString(publisher) - + "/extensionTypes/" - + global::System.Uri.EscapeDataString(extensionType) - + "/versions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.ExtensionMetadataListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task ExtensionMetadataListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValueListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task ExtensionMetadataList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ExtensionValueListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The location of the Extension being received. - /// The publisher of the Extension being received. - /// The extensionType of the Extension being received. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task ExtensionMetadataList_Validate(string subscriptionId, string location, string publisher, string extensionType, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(location),location); - await eventListener.AssertNotNull(nameof(publisher),publisher); - await eventListener.AssertNotNull(nameof(extensionType),extensionType); - } - } - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// The gallery images resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// - /// The gallery images resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var galleryImageName = _match.Groups["galleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + galleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// - /// The gallery images resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var galleryImageName = _match.Groups["galleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + galleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// Json string supplied to the GalleryImagesCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// Json string supplied to the GalleryImagesCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// The gallery images resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// The gallery images resource definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(galleryImageName),galleryImageName); - await eventListener.AssertMinimumLength(nameof(galleryImageName),galleryImageName,1); - await eventListener.AssertMaximumLength(nameof(galleryImageName),galleryImageName,80); - await eventListener.AssertRegEx(nameof(galleryImageName), galleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete a gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesDelete(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete a gallery image. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var galleryImageName = _match.Groups["galleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + galleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesDelete_Validate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(galleryImageName),galleryImageName); - await eventListener.AssertMinimumLength(nameof(galleryImageName),galleryImageName,1); - await eventListener.AssertMaximumLength(nameof(galleryImageName),galleryImageName,80); - await eventListener.AssertRegEx(nameof(galleryImageName), galleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); - } - } - - /// Gets a gallery image - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesGet(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a gallery image - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var galleryImageName = _match.Groups["galleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + galleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a gallery image - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var galleryImageName = _match.Groups["galleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + galleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesGetWithResult_Call (request, eventListener,sender); - } - } - - /// Gets a gallery image - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesGetWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesGet_Validate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(galleryImageName),galleryImageName); - await eventListener.AssertMinimumLength(nameof(galleryImageName),galleryImageName,1); - await eventListener.AssertMaximumLength(nameof(galleryImageName),galleryImageName,80); - await eventListener.AssertRegEx(nameof(galleryImageName), galleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); - } - } - - /// - /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the - /// next page of gallery images. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next - /// page of gallery images. - /// - /// The ID of the target subscription. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/galleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next - /// page of gallery images. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/galleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next - /// page of gallery images. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/galleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesListAllWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next - /// page of gallery images. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/galleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesListAllWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - } - } - - /// - /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the - /// next page of gallery images. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the - /// next page of gallery images. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the - /// next page of gallery images. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - } - } - - /// The operation to update a gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// The gallery images resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesUpdate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a gallery image. - /// - /// The gallery images resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var galleryImageName = _match.Groups["galleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + galleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a gallery image. - /// - /// The gallery images resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/galleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var galleryImageName = _match.Groups["galleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + galleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// Json string supplied to the GalleryImagesUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesUpdateViaJsonString(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// Json string supplied to the GalleryImagesUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// The gallery images resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GalleryImagesUpdateWithResult(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/galleryImages/" - + global::System.Uri.EscapeDataString(galleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GalleryImagesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the gallery image - /// The gallery images resource patch definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GalleryImagesUpdate_Validate(string subscriptionId, string resourceGroupName, string galleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(galleryImageName),galleryImageName); - await eventListener.AssertMinimumLength(nameof(galleryImageName),galleryImageName,1); - await eventListener.AssertMaximumLength(nameof(galleryImageName),galleryImageName,80); - await eventListener.AssertRegEx(nameof(galleryImageName), galleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// Create GuestAgent. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Request payload. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentCreate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentCreate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Create GuestAgent. - /// - /// Request payload. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentCreateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentCreate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Create GuestAgent. - /// - /// Request payload. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A - /// that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentCreateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GuestAgentCreateWithResult_Call (request, eventListener,sender); - } - } - - /// Create GuestAgent. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Json string supplied to the GuestAgentCreate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentCreateViaJsonString(string resourceUri, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentCreate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Create GuestAgent. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Json string supplied to the GuestAgentCreate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A - /// that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentCreateViaJsonStringWithResult(string resourceUri, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GuestAgentCreateWithResult_Call (request, eventListener,sender); - } - } - - /// Create GuestAgent. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Request payload. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A - /// that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentCreateWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GuestAgentCreateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A - /// that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentCreateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentCreate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Request payload. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentCreate_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// Implements GuestAgent DELETE method. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentDelete(string resourceUri, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentDelete_Call (request, onNoContent,onDefault,eventListener,sender); - } - } - - /// Implements GuestAgent DELETE method. - /// - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentDelete_Call (request, onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: default - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - if (!string.IsNullOrWhiteSpace(_finalUri)) - { - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentDelete_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// Implements GuestAgent GET method. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentGet(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Implements GuestAgent GET method. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Implements GuestAgent GET method. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A - /// that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GuestAgentGetWithResult_Call (request, eventListener,sender); - } - } - - /// Implements GuestAgent GET method. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A - /// that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentGetWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GuestAgentGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A - /// that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentGet_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// Returns the list of GuestAgent of the given vm. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentsList(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentsList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Returns the list of GuestAgent of the given vm. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentsListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.GuestAgentsList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Returns the list of GuestAgent of the given vm. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentsListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GuestAgentsListWithResult_Call (request, eventListener,sender); - } - } - - /// Returns the list of GuestAgent of the given vm. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task GuestAgentsListWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.GuestAgentsListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentsListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgentList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task GuestAgentsList_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// Implements HybridIdentityMetadata GET method. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.HybridIdentityMetadataGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Implements HybridIdentityMetadata GET method. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Name of the HybridIdentityMetadata. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1(string subscriptionId, string resourceGroupName, string machineName, string metadataName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/hybridIdentityMetadata/" - + global::System.Uri.EscapeDataString(metadataName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.HybridIdentityMetadataGet1_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Implements HybridIdentityMetadata GET method. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1ViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/hybridIdentityMetadata/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata/{metadataName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var metadataName = _match.Groups["metadataName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/hybridIdentityMetadata/" - + metadataName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.HybridIdentityMetadataGet1_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Implements HybridIdentityMetadata GET method. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1ViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/hybridIdentityMetadata/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata/{metadataName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var metadataName = _match.Groups["metadataName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/hybridIdentityMetadata/" - + metadataName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.HybridIdentityMetadataGet1WithResult_Call (request, eventListener,sender); - } - } - - /// Implements HybridIdentityMetadata GET method. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Name of the HybridIdentityMetadata. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1WithResult(string subscriptionId, string resourceGroupName, string machineName, string metadataName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/hybridIdentityMetadata/" - + global::System.Uri.EscapeDataString(metadataName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.HybridIdentityMetadataGet1WithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1WithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Name of the HybridIdentityMetadata. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet1_Validate(string subscriptionId, string resourceGroupName, string machineName, string metadataName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(metadataName),metadataName); - await eventListener.AssertRegEx(nameof(metadataName), metadataName, @"[a-zA-Z0-9-_\.]"); - } - } - - /// Implements HybridIdentityMetadata GET method. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.HybridIdentityMetadataGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Implements HybridIdentityMetadata GET method. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.HybridIdentityMetadataGetWithResult_Call (request, eventListener,sender); - } - } - - /// Implements HybridIdentityMetadata GET method. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataGetWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.HybridIdentityMetadataGetWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadata.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadata.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataGet_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// Returns the list of HybridIdentityMetadata of the given vm. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataList(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.HybridIdentityMetadataList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Returns the list of HybridIdentityMetadata of the given machine. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachines(string subscriptionId, string resourceGroupName, string machineName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/hybridIdentityMetadata" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.HybridIdentityMetadataListByMachines_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Returns the list of HybridIdentityMetadata of the given machine. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachinesViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/hybridIdentityMetadata$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/hybridIdentityMetadata" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.HybridIdentityMetadataListByMachines_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Returns the list of HybridIdentityMetadata of the given machine. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachinesViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/hybridIdentityMetadata$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/hybridIdentityMetadata" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.HybridIdentityMetadataListByMachinesWithResult_Call (request, eventListener,sender); - } - } - - /// Returns the list of HybridIdentityMetadata of the given machine. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachinesWithResult(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/hybridIdentityMetadata" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.HybridIdentityMetadataListByMachinesWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachinesWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataListAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachines_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataListAutoGenerated.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but - /// you will get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataListByMachines_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - } - } - - /// Returns the list of HybridIdentityMetadata of the given vm. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.HybridIdentityMetadataList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Returns the list of HybridIdentityMetadata of the given vm. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.HybridIdentityMetadataListWithResult_Call (request, eventListener,sender); - } - } - - /// Returns the list of HybridIdentityMetadata of the given vm. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task HybridIdentityMetadataListWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.HybridIdentityMetadataListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.HybridIdentityMetadataList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task HybridIdentityMetadataList_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// The logical network resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// - /// The logical network resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + logicalNetworkName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// - /// The logical network resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + logicalNetworkName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// Json string supplied to the LogicalNetworksCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// Json string supplied to the LogicalNetworksCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// The logical network resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// The logical network resource definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(logicalNetworkName),logicalNetworkName); - await eventListener.AssertMinimumLength(nameof(logicalNetworkName),logicalNetworkName,2); - await eventListener.AssertMaximumLength(nameof(logicalNetworkName),logicalNetworkName,64); - await eventListener.AssertRegEx(nameof(logicalNetworkName), logicalNetworkName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete a logical network. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksDelete(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete a logical network. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + logicalNetworkName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksDelete_Validate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(logicalNetworkName),logicalNetworkName); - await eventListener.AssertMinimumLength(nameof(logicalNetworkName),logicalNetworkName,2); - await eventListener.AssertMaximumLength(nameof(logicalNetworkName),logicalNetworkName,64); - await eventListener.AssertRegEx(nameof(logicalNetworkName), logicalNetworkName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$"); - } - } - - /// Gets a logical network - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksGet(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a logical network - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + logicalNetworkName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a logical network - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + logicalNetworkName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksGetWithResult_Call (request, eventListener,sender); - } - } - - /// Gets a logical network - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksGetWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksGet_Validate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(logicalNetworkName),logicalNetworkName); - await eventListener.AssertMinimumLength(nameof(logicalNetworkName),logicalNetworkName,2); - await eventListener.AssertMaximumLength(nameof(logicalNetworkName),logicalNetworkName,64); - await eventListener.AssertRegEx(nameof(logicalNetworkName), logicalNetworkName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$"); - } - } - - /// - /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// The ID of the target subscription. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/logicalNetworks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/logicalNetworks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksListAllWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksListAllWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - } - } - - /// - /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - } - } - - /// The operation to update a logical network. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// The logical network resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksUpdate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a logical network. - /// - /// The logical network resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + logicalNetworkName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a logical network. - /// - /// The logical network resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/logicalNetworks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var logicalNetworkName = _match.Groups["logicalNetworkName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + logicalNetworkName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a logical network. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// Json string supplied to the LogicalNetworksUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksUpdateViaJsonString(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.LogicalNetworksUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a logical network. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// Json string supplied to the LogicalNetworksUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a logical network. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// The logical network resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task LogicalNetworksUpdateWithResult(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/logicalNetworks/" - + global::System.Uri.EscapeDataString(logicalNetworkName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.LogicalNetworksUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the logical network - /// The logical network resource patch definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task LogicalNetworksUpdate_Validate(string subscriptionId, string resourceGroupName, string logicalNetworkName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(logicalNetworkName),logicalNetworkName); - await eventListener.AssertMinimumLength(nameof(logicalNetworkName),logicalNetworkName,2); - await eventListener.AssertMaximumLength(nameof(logicalNetworkName),logicalNetworkName,64); - await eventListener.AssertRegEx(nameof(logicalNetworkName), logicalNetworkName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[_a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to Create the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Parameters supplied to the Create Machine Extension operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to Create the extension. - /// - /// Parameters supplied to the Create Machine Extension operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var extensionName = _match.Groups["extensionName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions/" - + extensionName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to Create the extension. - /// - /// Parameters supplied to the Create Machine Extension operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var extensionName = _match.Groups["extensionName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions/" - + extensionName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to Create the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Json string supplied to the MachineExtensionsCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to Create the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Json string supplied to the MachineExtensionsCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to Create the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Parameters supplied to the Create Machine Extension operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: default - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - if (!string.IsNullOrWhiteSpace(_originalUri)) - { - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: default - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - if (!string.IsNullOrWhiteSpace(_originalUri)) - { - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Parameters supplied to the Create Machine Extension operation. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(extensionName),extensionName); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be deleted. - /// The name of the machine extension. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsDelete(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete the extension. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var extensionName = _match.Groups["extensionName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions/" - + extensionName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: default - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - if (!string.IsNullOrWhiteSpace(_finalUri)) - { - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be deleted. - /// The name of the machine extension. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsDelete_Validate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(extensionName),extensionName); - } - } - - /// The operation to get the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine containing the extension. - /// The name of the machine extension. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsGet(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to get the extension. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var extensionName = _match.Groups["extensionName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions/" - + extensionName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to get the extension. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var extensionName = _match.Groups["extensionName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions/" - + extensionName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsGetWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to get the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine containing the extension. - /// The name of the machine extension. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsGetWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine containing the extension. - /// The name of the machine extension. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsGet_Validate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(extensionName),extensionName); - } - } - - /// The operation to get all extensions of a non-Azure machine - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine containing the extension. - /// The expand expression to apply on the operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsList(string subscriptionId, string resourceGroupName, string machineName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions" - + "?" - + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) - + "&" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to get all extensions of a non-Azure machine - /// - /// The expand expression to apply on the operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsListViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions" - + "?" - + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) - + "&" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to get all extensions of a non-Azure machine - /// - /// The expand expression to apply on the operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsListViaIdentityWithResult(global::System.String viaIdentity, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions" - + "?" - + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) - + "&" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsListWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to get all extensions of a non-Azure machine - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine containing the extension. - /// The expand expression to apply on the operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsListWithResult(string subscriptionId, string resourceGroupName, string machineName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions" - + "?" - + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) - + "&" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtensionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine containing the extension. - /// The expand expression to apply on the operation. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsList_Validate(string subscriptionId, string resourceGroupName, string machineName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(Expand),Expand); - } - } - - /// The operation to Update the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Parameters supplied to the Create Machine Extension operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsUpdate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to Update the extension. - /// - /// Parameters supplied to the Create Machine Extension operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var extensionName = _match.Groups["extensionName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions/" - + extensionName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to Update the extension. - /// - /// Parameters supplied to the Create Machine Extension operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/extensions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - var extensionName = _match.Groups["extensionName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/extensions/" - + extensionName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to Update the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Json string supplied to the MachineExtensionsUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsUpdateViaJsonString(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachineExtensionsUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to Update the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Json string supplied to the MachineExtensionsUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to Update the extension. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Parameters supplied to the Create Machine Extension operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachineExtensionsUpdateWithResult(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/extensions/" - + global::System.Uri.EscapeDataString(extensionName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachineExtensionsUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: default - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - if (!string.IsNullOrWhiteSpace(_originalUri)) - { - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: default - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - if (!string.IsNullOrWhiteSpace(_originalUri)) - { - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineExtension.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the machine where the extension should be created or updated. - /// The name of the machine extension. - /// Parameters supplied to the Create Machine Extension operation. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachineExtensionsUpdate_Validate(string subscriptionId, string resourceGroupName, string machineName, string extensionName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(extensionName),extensionName); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// - /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Parameters supplied to the Create hybrid machine operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesCreateOrUpdate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. - /// - /// - /// Parameters supplied to the Create hybrid machine operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. - /// - /// - /// Parameters supplied to the Create hybrid machine operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that - /// will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Json string supplied to the MachinesCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Json string supplied to the MachinesCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that - /// will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a hybrid machine. Please note some properties can be set only during machine creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Parameters supplied to the Create hybrid machine operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that - /// will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that - /// will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Parameters supplied to the Create hybrid machine operation. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete a hybrid machine. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesDelete(string subscriptionId, string resourceGroupName, string machineName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete a hybrid machine. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesDelete_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - } - } - - /// - /// Retrieves information about the model view or the instance view of a hybrid machine. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// The expand expression to apply on the operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesGet(string subscriptionId, string resourceGroupName, string machineName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - + "&" - + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Retrieves information about the model view or the instance view of a hybrid machine. - /// - /// - /// The expand expression to apply on the operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesGetViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - + "&" - + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Retrieves information about the model view or the instance view of a hybrid machine. - /// - /// - /// The expand expression to apply on the operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that - /// will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesGetViaIdentityWithResult(global::System.String viaIdentity, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - + "&" - + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesGetWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Retrieves information about the model view or the instance view of a hybrid machine. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// The expand expression to apply on the operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that - /// will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesGetWithResult(string subscriptionId, string resourceGroupName, string machineName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - + "&" - + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that - /// will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation events - /// back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// The expand expression to apply on the operation. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesGet_Validate(string subscriptionId, string resourceGroupName, string machineName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(Expand),Expand); - } - } - - /// - /// Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next - /// page of hybrid machines. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesListByResourceGroup(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesListByResourceGroup_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next - /// page of hybrid machines. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesListByResourceGroupViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesListByResourceGroup_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next - /// page of hybrid machines. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesListByResourceGroupViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesListByResourceGroupWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next - /// page of hybrid machines. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesListByResourceGroupWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesListByResourceGroupWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesListByResourceGroupWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesListByResourceGroup_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesListByResourceGroup_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - } - } - - /// - /// Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next - /// page of hybrid machines. - /// - /// The ID of the target subscription. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesListBySubscription(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.HybridCompute/machines" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesListBySubscription_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next - /// page of hybrid machines. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesListBySubscriptionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/machines$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.HybridCompute/machines" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesListBySubscription_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next - /// page of hybrid machines. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesListBySubscriptionViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.HybridCompute/machines$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.HybridCompute/machines" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesListBySubscriptionWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next - /// page of hybrid machines. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesListBySubscriptionWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.HybridCompute/machines" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesListBySubscriptionWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesListBySubscriptionWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesListBySubscription_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MachineListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesListBySubscription_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - } - } - - /// The operation to update a hybrid machine. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Parameters supplied to the Update hybrid machine operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesUpdate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a hybrid machine. - /// - /// Parameters supplied to the Update hybrid machine operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a hybrid machine. - /// - /// Parameters supplied to the Update hybrid machine operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that - /// will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a hybrid machine. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Json string supplied to the MachinesUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesUpdateViaJsonString(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MachinesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a hybrid machine. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Json string supplied to the MachinesUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that - /// will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a hybrid machine. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Parameters supplied to the Update hybrid machine operation. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that - /// will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MachinesUpdateWithResult(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MachinesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that - /// will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.Machine.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Parameters supplied to the Update hybrid machine operation. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MachinesUpdate_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineUpdate body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// The marketplace gallery image resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// - /// The marketplace gallery image resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + marketplaceGalleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// - /// The marketplace gallery image resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + marketplaceGalleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// Json string supplied to the MarketplaceGalleryImagesCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// Json string supplied to the MarketplaceGalleryImagesCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// The marketplace gallery image resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but - /// you will get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// The marketplace gallery image resource definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName); - await eventListener.AssertMinimumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,1); - await eventListener.AssertMaximumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,80); - await eventListener.AssertRegEx(nameof(marketplaceGalleryImageName), marketplaceGalleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete a marketplace gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesDelete(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete a marketplace gallery image. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + marketplaceGalleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesDelete_Validate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName); - await eventListener.AssertMinimumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,1); - await eventListener.AssertMaximumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,80); - await eventListener.AssertRegEx(nameof(marketplaceGalleryImageName), marketplaceGalleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); - } - } - - /// Gets a marketplace gallery image - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGet(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a marketplace gallery image - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + marketplaceGalleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a marketplace gallery image - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + marketplaceGalleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesGetWithResult_Call (request, eventListener,sender); - } - } - - /// Gets a marketplace gallery image - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGetWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesGetWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesGet_Validate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName); - await eventListener.AssertMinimumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,1); - await eventListener.AssertMaximumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,80); - await eventListener.AssertRegEx(nameof(marketplaceGalleryImageName), marketplaceGalleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); - } - } - - /// - /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response - /// to get the next page of marketplace gallery images. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to - /// get the next page of marketplace gallery images. - /// - /// The ID of the target subscription. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to - /// get the next page of marketplace gallery images. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to - /// get the next page of marketplace gallery images. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesListAllWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to - /// get the next page of marketplace gallery images. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesListAllWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - } - } - - /// - /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response - /// to get the next page of marketplace gallery images. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response - /// to get the next page of marketplace gallery images. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response - /// to get the next page of marketplace gallery images. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - } - } - - /// The operation to update a marketplace gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// The marketplace gallery image resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a marketplace gallery image. - /// - /// The marketplace gallery image resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + marketplaceGalleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a marketplace gallery image. - /// - /// The marketplace gallery image resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var marketplaceGalleryImageName = _match.Groups["marketplaceGalleryImageName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + marketplaceGalleryImageName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a marketplace gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// Json string supplied to the MarketplaceGalleryImagesUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateViaJsonString(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.MarketplaceGalleryImagesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a marketplace gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// Json string supplied to the MarketplaceGalleryImagesUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a marketplace gallery image. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// The marketplace gallery image resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateWithResult(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/" - + global::System.Uri.EscapeDataString(marketplaceGalleryImageName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.MarketplaceGalleryImagesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the marketplace gallery image - /// The marketplace gallery image resource patch definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task MarketplaceGalleryImagesUpdate_Validate(string subscriptionId, string resourceGroupName, string marketplaceGalleryImageName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName); - await eventListener.AssertMinimumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,1); - await eventListener.AssertMaximumLength(nameof(marketplaceGalleryImageName),marketplaceGalleryImageName,80); - await eventListener.AssertRegEx(nameof(marketplaceGalleryImageName), marketplaceGalleryImageName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// The network interface resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// - /// The network interface resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + networkInterfaceName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// - /// The network interface resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + networkInterfaceName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// Json string supplied to the NetworkInterfacesCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// Json string supplied to the NetworkInterfacesCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// The network interface resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// The network interface resource definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(networkInterfaceName),networkInterfaceName); - await eventListener.AssertMinimumLength(nameof(networkInterfaceName),networkInterfaceName,1); - await eventListener.AssertMaximumLength(nameof(networkInterfaceName),networkInterfaceName,80); - await eventListener.AssertRegEx(nameof(networkInterfaceName), networkInterfaceName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete a network interface. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesDelete(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete a network interface. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + networkInterfaceName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesDelete_Validate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(networkInterfaceName),networkInterfaceName); - await eventListener.AssertMinimumLength(nameof(networkInterfaceName),networkInterfaceName,1); - await eventListener.AssertMaximumLength(nameof(networkInterfaceName),networkInterfaceName,80); - await eventListener.AssertRegEx(nameof(networkInterfaceName), networkInterfaceName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); - } - } - - /// Gets a network interface - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesGet(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a network interface - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + networkInterfaceName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a network interface - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + networkInterfaceName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesGetWithResult_Call (request, eventListener,sender); - } - } - - /// Gets a network interface - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesGetWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesGet_Validate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(networkInterfaceName),networkInterfaceName); - await eventListener.AssertMinimumLength(nameof(networkInterfaceName),networkInterfaceName,1); - await eventListener.AssertMaximumLength(nameof(networkInterfaceName),networkInterfaceName,80); - await eventListener.AssertRegEx(nameof(networkInterfaceName), networkInterfaceName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); - } - } - - /// - /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get - /// the next page of network interfaces. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the - /// next page of network interfaces. - /// - /// The ID of the target subscription. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the - /// next page of network interfaces. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/networkInterfaces" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the - /// next page of network interfaces. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/networkInterfaces" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesListAllWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the - /// next page of network interfaces. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesListAllWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - } - } - - /// - /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get - /// the next page of network interfaces. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get - /// the next page of network interfaces. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get - /// the next page of network interfaces. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - } - } - - /// The operation to update a network interface. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// The network interface resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesUpdate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a network interface. - /// - /// The network interface resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + networkInterfaceName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a network interface. - /// - /// The network interface resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/networkInterfaces/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var networkInterfaceName = _match.Groups["networkInterfaceName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + networkInterfaceName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a network interface. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// Json string supplied to the NetworkInterfacesUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateViaJsonString(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkInterfacesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a network interface. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// Json string supplied to the NetworkInterfacesUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a network interface. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// The network interface resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkInterfacesUpdateWithResult(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/networkInterfaces/" - + global::System.Uri.EscapeDataString(networkInterfaceName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkInterfacesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the network interface - /// The network interface resource patch definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkInterfacesUpdate_Validate(string subscriptionId, string resourceGroupName, string networkInterfaceName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(networkInterfaceName),networkInterfaceName); - await eventListener.AssertMinimumLength(nameof(networkInterfaceName),networkInterfaceName,1); - await eventListener.AssertMaximumLength(nameof(networkInterfaceName),networkInterfaceName,80); - await eventListener.AssertRegEx(nameof(networkInterfaceName), networkInterfaceName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to get network information of hybrid machine - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkProfileGet(string subscriptionId, string resourceGroupName, string machineName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/networkProfile" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkProfileGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to get network information of hybrid machine - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkProfileGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/networkProfile$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/networkProfile'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/networkProfile" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.NetworkProfileGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to get network information of hybrid machine - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkProfileGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)/networkProfile$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/networkProfile'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/networkProfile" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkProfileGetWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to get network information of hybrid machine - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task NetworkProfileGetWithResult(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/networkProfile" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.NetworkProfileGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkProfileGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkProfile.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkProfileGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkProfile.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task NetworkProfileGet_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - } - } - - /// Gets a list of hybrid compute operations. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task OperationsList(global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/operations" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.OperationsList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a list of hybrid compute operations. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task OperationsListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/operations$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/operations'"); - } - - // replace URI parameters with values from identity - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/operations" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.OperationsList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a list of hybrid compute operations. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task OperationsListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.HybridCompute/operations$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.HybridCompute/operations'"); - } - - // replace URI parameters with values from identity - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/operations" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.OperationsListWithResult_Call (request, eventListener,sender); - } - } - - /// Gets a list of hybrid compute operations. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task OperationsListWithResult(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/providers/Microsoft.HybridCompute/operations" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.OperationsListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task OperationsListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task OperationsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.OperationListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task OperationsList_Validate(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - - } - } - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// The storage container resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// - /// The storage container resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var storageContainerName = _match.Groups["storageContainerName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + storageContainerName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// - /// The storage container resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var storageContainerName = _match.Groups["storageContainerName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + storageContainerName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// Json string supplied to the StorageContainersCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// Json string supplied to the StorageContainersCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// The storage container resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// The storage container resource definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(storageContainerName),storageContainerName); - await eventListener.AssertMinimumLength(nameof(storageContainerName),storageContainerName,1); - await eventListener.AssertMaximumLength(nameof(storageContainerName),storageContainerName,80); - await eventListener.AssertRegEx(nameof(storageContainerName), storageContainerName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete a storage container. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersDelete(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete a storage container. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var storageContainerName = _match.Groups["storageContainerName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + storageContainerName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersDelete_Validate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(storageContainerName),storageContainerName); - await eventListener.AssertMinimumLength(nameof(storageContainerName),storageContainerName,1); - await eventListener.AssertMaximumLength(nameof(storageContainerName),storageContainerName,80); - await eventListener.AssertRegEx(nameof(storageContainerName), storageContainerName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); - } - } - - /// Gets a storage container - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersGet(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a storage container - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var storageContainerName = _match.Groups["storageContainerName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + storageContainerName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a storage container - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var storageContainerName = _match.Groups["storageContainerName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + storageContainerName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersGetWithResult_Call (request, eventListener,sender); - } - } - - /// Gets a storage container - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersGetWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersGet_Validate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(storageContainerName),storageContainerName); - await eventListener.AssertMinimumLength(nameof(storageContainerName),storageContainerName,1); - await eventListener.AssertMaximumLength(nameof(storageContainerName),storageContainerName,80); - await eventListener.AssertRegEx(nameof(storageContainerName), storageContainerName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); - } - } - - /// - /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get - /// the next page of storage containers. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the - /// next page of storage containers. - /// - /// The ID of the target subscription. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/storageContainers" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the - /// next page of storage containers. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/storageContainers" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the - /// next page of storage containers. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/storageContainers" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersListAllWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the - /// next page of storage containers. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/storageContainers" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersListAllWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - } - } - - /// - /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get - /// the next page of storage containers. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get - /// the next page of storage containers. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get - /// the next page of storage containers. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - } - } - - /// The operation to update a storage container. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// The storage container resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersUpdate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a storage container. - /// - /// The storage container resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var storageContainerName = _match.Groups["storageContainerName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + storageContainerName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a storage container. - /// - /// The storage container resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/storageContainers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var storageContainerName = _match.Groups["storageContainerName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + storageContainerName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a storage container. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// Json string supplied to the StorageContainersUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersUpdateViaJsonString(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.StorageContainersUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a storage container. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// Json string supplied to the StorageContainersUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a storage container. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// The storage container resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task StorageContainersUpdateWithResult(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/storageContainers/" - + global::System.Uri.EscapeDataString(storageContainerName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.StorageContainersUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the storage container - /// The storage container resource patch definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task StorageContainersUpdate_Validate(string subscriptionId, string resourceGroupName, string storageContainerName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(storageContainerName),storageContainerName); - await eventListener.AssertMinimumLength(nameof(storageContainerName),storageContainerName,1); - await eventListener.AssertMaximumLength(nameof(storageContainerName),storageContainerName,80); - await eventListener.AssertRegEx(nameof(storageContainerName), storageContainerName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to Upgrade Machine Extensions. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Parameters supplied to the Upgrade Extensions operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task UpgradeExtensions(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade body, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/upgradeExtensions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.UpgradeExtensions_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to Upgrade Machine Extensions. - /// - /// Parameters supplied to the Upgrade Extensions operation. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task UpgradeExtensionsViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade body, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.HybridCompute/machines/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var machineName = _match.Groups["machineName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.HybridCompute/machines/" - + machineName - + "/upgradeExtensions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.UpgradeExtensions_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to Upgrade Machine Extensions. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Json string supplied to the UpgradeExtensions operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task UpgradeExtensionsViaJsonString(string subscriptionId, string resourceGroupName, string machineName, global::System.String jsonString, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2023-03-15-preview"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.HybridCompute/machines/" - + global::System.Uri.EscapeDataString(machineName) - + "/upgradeExtensions" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.UpgradeExtensions_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task UpgradeExtensions_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: default - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - if (!string.IsNullOrWhiteSpace(_finalUri)) - { - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// The name of the hybrid machine. - /// Parameters supplied to the Upgrade Extensions operation. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task UpgradeExtensions_Validate(string subscriptionId, string resourceGroupName, string machineName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(machineName),machineName); - await eventListener.AssertMinimumLength(nameof(machineName),machineName,1); - await eventListener.AssertMaximumLength(nameof(machineName),machineName,54); - await eventListener.AssertRegEx(nameof(machineName), machineName, @"[a-zA-Z0-9-_\.]"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// The virtual hard disk resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// - /// The virtual hard disk resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + virtualHardDiskName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// - /// The virtual hard disk resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + virtualHardDiskName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// Json string supplied to the VirtualHardDisksCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateViaJsonString(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// Json string supplied to the VirtualHardDisksCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// The virtual hard disk resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// The virtual hard disk resource definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksCreateOrUpdate_Validate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(virtualHardDiskName),virtualHardDiskName); - await eventListener.AssertMinimumLength(nameof(virtualHardDiskName),virtualHardDiskName,1); - await eventListener.AssertMaximumLength(nameof(virtualHardDiskName),virtualHardDiskName,80); - await eventListener.AssertRegEx(nameof(virtualHardDiskName), virtualHardDiskName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete a virtual hard disk. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksDelete(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete a virtual hard disk. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + virtualHardDiskName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksDelete_Validate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(virtualHardDiskName),virtualHardDiskName); - await eventListener.AssertMinimumLength(nameof(virtualHardDiskName),virtualHardDiskName,1); - await eventListener.AssertMaximumLength(nameof(virtualHardDiskName),virtualHardDiskName,80); - await eventListener.AssertRegEx(nameof(virtualHardDiskName), virtualHardDiskName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$"); - } - } - - /// Gets a virtual hard disk - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksGet(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a virtual hard disk - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + virtualHardDiskName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a virtual hard disk - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + virtualHardDiskName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksGetWithResult_Call (request, eventListener,sender); - } - } - - /// Gets a virtual hard disk - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksGetWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksGetWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksGet_Validate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(virtualHardDiskName),virtualHardDiskName); - await eventListener.AssertMinimumLength(nameof(virtualHardDiskName),virtualHardDiskName,1); - await eventListener.AssertMaximumLength(nameof(virtualHardDiskName),virtualHardDiskName,80); - await eventListener.AssertRegEx(nameof(virtualHardDiskName), virtualHardDiskName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$"); - } - } - - /// - /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get - /// the next page of virtual hard disks. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksList(string subscriptionId, string resourceGroupName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the - /// next page of virtual hard disks. - /// - /// The ID of the target subscription. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksListAll(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the - /// next page of virtual hard disks. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksListAllViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksListAll_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the - /// next page of virtual hard disks. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksListAllViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksListAllWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the - /// next page of virtual hard disks. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksListAllWithResult(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksListAllWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksListAllWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksListAll_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The ID of the target subscription. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksListAll_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - } - } - - /// - /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get - /// the next page of virtual hard disks. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get - /// the next page of virtual hard disks. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get - /// the next page of virtual hard disks. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksListWithResult(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksListWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksList_Validate(string subscriptionId, string resourceGroupName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - } - } - - /// The operation to update a virtual hard disk. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// The virtual hard disk resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksUpdate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a virtual hard disk. - /// - /// The virtual hard disk resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + virtualHardDiskName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a virtual hard disk. - /// - /// The virtual hard disk resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualHardDisks/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}'"); - } - - // replace URI parameters with values from identity - var subscriptionId = _match.Groups["subscriptionId"].Value; - var resourceGroupName = _match.Groups["resourceGroupName"].Value; - var virtualHardDiskName = _match.Groups["virtualHardDiskName"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + subscriptionId - + "/resourceGroups/" - + resourceGroupName - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + virtualHardDiskName - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a virtual hard disk. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// Json string supplied to the VirtualHardDisksUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateViaJsonString(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualHardDisksUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a virtual hard disk. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// Json string supplied to the VirtualHardDisksUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateViaJsonStringWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a virtual hard disk. - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// The virtual hard disk resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualHardDisksUpdateWithResult(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/subscriptions/" - + global::System.Uri.EscapeDataString(subscriptionId) - + "/resourceGroups/" - + global::System.Uri.EscapeDataString(resourceGroupName) - + "/providers/Microsoft.AzureStackHCI/virtualHardDisks/" - + global::System.Uri.EscapeDataString(virtualHardDiskName) - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualHardDisksUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get validation - /// events back. - /// - /// The ID of the target subscription. - /// The name of the resource group. The name is case insensitive. - /// Name of the virtual hard disk - /// The virtual hard disk resource patch definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualHardDisksUpdate_Validate(string subscriptionId, string resourceGroupName, string virtualHardDiskName, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); - await eventListener.AssertMinimumLength(nameof(subscriptionId),subscriptionId,1); - await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); - await eventListener.AssertMinimumLength(nameof(resourceGroupName),resourceGroupName,1); - await eventListener.AssertMaximumLength(nameof(resourceGroupName),resourceGroupName,90); - await eventListener.AssertNotNull(nameof(virtualHardDiskName),virtualHardDiskName); - await eventListener.AssertMinimumLength(nameof(virtualHardDiskName),virtualHardDiskName,1); - await eventListener.AssertMaximumLength(nameof(virtualHardDiskName),virtualHardDiskName,80); - await eventListener.AssertRegEx(nameof(virtualHardDiskName), virtualHardDiskName, @"^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$"); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// The virtual machine instance resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// - /// The virtual machine instance resource definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// - /// The virtual machine instance resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Json string supplied to the VirtualMachineInstancesCreateOrUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateViaJsonString(string resourceUri, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesCreateOrUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Json string supplied to the VirtualMachineInstancesCreateOrUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateViaJsonStringWithResult(string resourceUri, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// The virtual machine instance resource definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Put, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesCreateOrUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but - /// you will get validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// The virtual machine instance resource definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesCreateOrUpdate_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - - /// The operation to delete a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesDelete(string resourceUri, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// The operation to delete a virtual machine instance. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Delete, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesDelete_Call (request, onOk,onNoContent,onDefault,eventListener,sender); - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns 204 (NoContent). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var _finalUri = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response); - break; - } - case global::System.Net.HttpStatusCode.NoContent: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onNoContent(_response); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesDelete_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// Gets a virtual machine instance - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesGet(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a virtual machine instance - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesGet_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// Gets a virtual machine instance - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesGetViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesGetWithResult_Call (request, eventListener,sender); - } - } - - /// Gets a virtual machine instance - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesGetWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesGetWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesGetWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will get - /// validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesGet_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// - /// Lists all of the virtual machine instances within the specified parent resource. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesList(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the virtual machine instances within the specified parent resource. - /// - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesList_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// - /// Lists all of the virtual machine instances within the specified parent resource. - /// - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesListViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Lists all of the virtual machine instances within the specified parent resource. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesListWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesListWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesListWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesList_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// The operation to restart a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesRestart(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesRestart_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to restart a virtual machine instance. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesRestartViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesRestart_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to restart a virtual machine instance. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesRestartViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesRestartWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to restart a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesRestartWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesRestartWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesRestartWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: location - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesRestart_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: location - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesRestart_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// The operation to start a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesStart(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesStart_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to start a virtual machine instance. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesStartViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesStart_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to start a virtual machine instance. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesStartViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesStartWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to start a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesStartWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesStartWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStartWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: location - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStart_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: location - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStart_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// The operation to stop a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesStop(string resourceUri, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesStop_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to stop a virtual machine instance. - /// - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesStopViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesStop_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to stop a virtual machine instance. - /// - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesStopViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesStopWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to stop a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesStopWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Post, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesStopWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStopWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: location - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStop_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: location - var _finalUri = _response.GetFirstHeader(@"Location"); - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesStop_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - } - } - - /// The operation to update a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// The virtual machine instance resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a virtual machine instance. - /// - /// The virtual machine instance resource patch definition. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a virtual machine instance. - /// - /// The virtual machine instance resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateViaIdentityWithResult(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // verify that Identity format is an exact match for uri - - var _match = new global::System.Text.RegularExpressions.Regex("^/(?[^/]+)/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); - if (!_match.Success) - { - throw new global::System.Exception("Invalid identity for URI '/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'"); - } - - // replace URI parameters with values from identity - var resourceUri = _match.Groups["resourceUri"].Value; - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + resourceUri - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Json string supplied to the VirtualMachineInstancesUpdate operation - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateViaJsonString(string resourceUri, global::System.String jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } - // make the call - await this.VirtualMachineInstancesUpdate_Call (request, onOk,onDefault,eventListener,sender); - } - } - - /// The operation to update a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// Json string supplied to the VirtualMachineInstancesUpdate operation - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateViaJsonStringWithResult(string resourceUri, global::System.String jsonString, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// The operation to update a virtual machine instance. - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// The virtual machine instance resource patch definition. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// Allows the caller to choose the depth of the serialization. See . - /// - /// A that will be complete when handling of the response is completed. - /// - public async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateWithResult(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode serializationMode = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate|Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate) - { - var apiVersion = @"2024-01-01"; - // Constant Parameters - using( NoSynchronizationContext ) - { - // construct URL - var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( - "/" - + (resourceUri) - + "/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - + "?" - + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) - ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // generate request object - var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); - var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Patch, _url); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return null; } - - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return null; } - // set body content - request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null, serializationMode).ToString() : @"{}", global::System.Text.Encoding.UTF8); - request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return null; } - // make the call - return await this.VirtualMachineInstancesUpdateWithResult_Call (request, eventListener,sender); - } - } - - /// - /// Actual wire call for method. - /// - /// the prepared HttpRequestMessage to send. - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdateWithResult_Call(global::System.Net.Http.HttpRequestMessage request, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return null; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return null; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - return await _result; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return null; } - var _result = _response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) ); - // Error Response : default - var code = (await _result)?.Code; - var message = (await _result)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(_response, await _result); - throw ex; - } - else - { - throw new global::System.Exception($"[{code}] : {message}"); - } - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// Actual wire call for method. - /// the prepared HttpRequestMessage to send. - /// a delegate that is called when the remote service returns 200 (OK). - /// a delegate that is called when the remote service returns default (any response code not handled - /// elsewhere). - /// an instance that will receive events. - /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync pipeline to use to make the request. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.ISendAsync sender) - { - using( NoSynchronizationContext ) - { - global::System.Net.Http.HttpResponseMessage _response = null; - try - { - var sendTask = sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 0); if( eventListener.Token.IsCancellationRequested ) { return; } - _response = await sendTask; - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - // this operation supports x-ms-long-running-operation - var _originalUri = request.RequestUri.AbsoluteUri; - // declared final-state-via: azure-async-operation - var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = _response.GetFirstHeader(@"Location"); - while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - // delay before making the next polling request - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // while we wait, let's grab the headers and get ready to poll. - if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { - asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); - } - if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { - location = _response.GetFirstHeader(@"Location"); - } - var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; - request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // and let's look at the current response body and see if we have some information we can give back to the listener - var content = await _response.Content.ReadAsStringAsync(); - - // drop the old response - _response?.Dispose(); - - // make the polling call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - - // if we got back an OK, take a peek inside and see if it's done - if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) - { - var error = false; - try { - if( Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonObject json) - { - var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); - if( state is null ) - { - // the body doesn't contain any information that has the state of the LRO - // we're going to just get out, and let the consumer have the result - break; - } - - switch( state?.ToString()?.ToLower() ) - { - case "failed": - error = true; - break; - case "succeeded": - case "canceled": - // we're done polling. - break; - - default: - // need to keep polling! - _response.StatusCode = global::System.Net.HttpStatusCode.Created; - continue; - } - } - } catch { - // if we run into a problem peeking into the result, - // we really don't want to do anything special. - } - if (error) { - throw new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException(_response); - } - } - - // check for terminal status code - if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) - { - continue; - } - // we are done polling, do a request on final target? - // create a new request with the final uri - request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get); - - // drop the old response - _response?.Dispose(); - - // make the final call - _response = await sender.SendAsync(request, eventListener); - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - break; - } - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress, "intentional placeholder", 100); if( eventListener.Token.IsCancellationRequested ) { return; } - var _contentType = _response.Content.Headers.ContentType?.MediaType; - - switch ( _response.StatusCode ) - { - case global::System.Net.HttpStatusCode.OK: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - default: - { - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } - await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Json.JsonNode.Parse(body.Result)) )); - break; - } - } - } - finally - { - // finally statements - await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Finally, request, _response); - _response?.Dispose(); - request?.Dispose(); - } - } - } - - /// - /// Validation method for method. Call this like the actual call, but you will - /// get validation events back. - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource - /// to be extended. - /// The virtual machine instance resource patch definition. - /// an instance that will receive events. - /// - /// A that will be complete when handling of the response is completed. - /// - internal async global::System.Threading.Tasks.Task VirtualMachineInstancesUpdate_Validate(string resourceUri, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener eventListener) - { - using( NoSynchronizationContext ) - { - await eventListener.AssertNotNull(nameof(resourceUri),resourceUri); - await eventListener.AssertNotNull(nameof(body), body); - await eventListener.AssertObjectIsValid(nameof(body), body); - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_Get.cs deleted file mode 100644 index 72f2fc77eaf7..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_Get.cs +++ /dev/null @@ -1,476 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Gets a gallery image - /// - /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGalleryImage_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a gallery image")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMGalleryImage_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMGalleryImage_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List.cs deleted file mode 100644 index f727d7267aa7..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List.cs +++ /dev/null @@ -1,491 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the - /// next page of gallery images. - /// - /// - /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGalleryImage_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the gallery images in the specified resource group. Use the nextLink property in the response to get the next page of gallery images.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMGalleryImage_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMGalleryImage_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List1.cs deleted file mode 100644 index 128be6981575..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGalleryImage_List1.cs +++ /dev/null @@ -1,477 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next - /// page of gallery images. - /// - /// - /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGalleryImage_List1")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the gallery images in the specified subscription. Use the nextLink property in the response to get the next page of gallery images.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/galleryImages", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMGalleryImage_List1 : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMGalleryImage_List1() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesListAll(SubscriptionId, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_Get.cs deleted file mode 100644 index 38cce22bc7a8..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_Get.cs +++ /dev/null @@ -1,441 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Implements GuestAgent GET method. - /// - /// [OpenAPI] Get=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGuestAgent_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Implements GuestAgent GET method.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMGuestAgent_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMGuestAgent_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GuestAgentGet(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_List.cs deleted file mode 100644 index fa3f46ec8557..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMGuestAgent_List.cs +++ /dev/null @@ -1,468 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Returns the list of GuestAgent of the given vm. - /// - /// [OpenAPI] List=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMGuestAgent_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Returns the list of GuestAgent of the given vm.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMGuestAgent_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgentList - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMGuestAgent_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GuestAgentsList(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgentList - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgentList - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GuestAgentsList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_Get.cs deleted file mode 100644 index 5a3e72814294..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_Get.cs +++ /dev/null @@ -1,441 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Implements HybridIdentityMetadata GET method. - /// - /// [OpenAPI] Get=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMHybridIdentityMetadata_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Implements HybridIdentityMetadata GET method.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata/default", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMHybridIdentityMetadata_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMHybridIdentityMetadata_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.HybridIdentityMetadataGet(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_List.cs deleted file mode 100644 index 84ec4dbf221d..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMHybridIdentityMetadata_List.cs +++ /dev/null @@ -1,468 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Returns the list of HybridIdentityMetadata of the given vm. - /// - /// [OpenAPI] List=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMHybridIdentityMetadata_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Returns the list of HybridIdentityMetadata of the given vm.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/hybridIdentityMetadata", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMHybridIdentityMetadata_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataList - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMHybridIdentityMetadata_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.HybridIdentityMetadataList(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataList - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataList - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.HybridIdentityMetadataList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_Get.cs deleted file mode 100644 index c0c570e5766c..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_Get.cs +++ /dev/null @@ -1,475 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Gets a logical network - /// - /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMLogicalNetwork_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a logical network")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMLogicalNetwork_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMLogicalNetwork_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List.cs deleted file mode 100644 index ec8108ea7a9d..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List.cs +++ /dev/null @@ -1,490 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// - /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMLogicalNetwork_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the logical networks in the specified resource group. Use the nextLink property in the response to get the next page of logical networks.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMLogicalNetwork_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMLogicalNetwork_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List1.cs deleted file mode 100644 index 366c1cb4f381..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMLogicalNetwork_List1.cs +++ /dev/null @@ -1,476 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the - /// next page of logical networks. - /// - /// - /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMLogicalNetwork_List1")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the logical networks in the specified subscription. Use the nextLink property in the response to get the next page of logical networks.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/logicalNetworks", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMLogicalNetwork_List1 : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMLogicalNetwork_List1() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksListAll(SubscriptionId, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_Get.cs deleted file mode 100644 index 2a9c58ee5f17..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_Get.cs +++ /dev/null @@ -1,476 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Gets a marketplace gallery image - /// - /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMMarketplaceGalleryImage_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a marketplace gallery image")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMMarketplaceGalleryImage_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMMarketplaceGalleryImage_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List.cs deleted file mode 100644 index 07efdf9bb1e6..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List.cs +++ /dev/null @@ -1,491 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response - /// to get the next page of marketplace gallery images. - /// - /// - /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMMarketplaceGalleryImage_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the marketplace gallery images in the specified resource group. Use the nextLink property in the response to get the next page of marketplace gallery images.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMMarketplaceGalleryImage_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMMarketplaceGalleryImage_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List1.cs deleted file mode 100644 index ac0fa4a9ea60..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMMarketplaceGalleryImage_List1.cs +++ /dev/null @@ -1,477 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to - /// get the next page of marketplace gallery images. - /// - /// - /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMMarketplaceGalleryImage_List1")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the marketplace gallery images in the specified subscription. Use the nextLink property in the response to get the next page of marketplace gallery images.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMMarketplaceGalleryImage_List1 : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMMarketplaceGalleryImage_List1() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesListAll(SubscriptionId, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_Get.cs deleted file mode 100644 index 4e5f8af694ef..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_Get.cs +++ /dev/null @@ -1,475 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Gets a network interface - /// - /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMNetworkInterface_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a network interface")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMNetworkInterface_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMNetworkInterface_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List.cs deleted file mode 100644 index 9f7b7ecc70cc..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List.cs +++ /dev/null @@ -1,490 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get - /// the next page of network interfaces. - /// - /// - /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMNetworkInterface_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the network interfaces in the specified resource group. Use the nextLink property in the response to get the next page of network interfaces.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMNetworkInterface_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMNetworkInterface_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List1.cs deleted file mode 100644 index 2a469156635c..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMNetworkInterface_List1.cs +++ /dev/null @@ -1,476 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the - /// next page of network interfaces. - /// - /// - /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMNetworkInterface_List1")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the network interfaces in the specified subscription. Use the nextLink property in the response to get the next page of network interfaces.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/networkInterfaces", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMNetworkInterface_List1 : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMNetworkInterface_List1() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesListAll(SubscriptionId, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMOperation_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMOperation_List.cs deleted file mode 100644 index 24ab58d4e2b8..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMOperation_List.cs +++ /dev/null @@ -1,432 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Gets a list of hybrid compute operations. - /// - /// [OpenAPI] List=>GET:"/providers/Microsoft.HybridCompute/operations" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMOperation_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a list of hybrid compute operations.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/providers/Microsoft.HybridCompute/operations", ApiVersion = "2023-03-15-preview")] - public partial class GetAzStackHCIVMOperation_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMOperation_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.OperationsList(onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_Get.cs deleted file mode 100644 index 296bf25421ef..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_Get.cs +++ /dev/null @@ -1,475 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Gets a storage container - /// - /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMStoragePath_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a storage container")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMStoragePath_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMStoragePath_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List.cs deleted file mode 100644 index 541a5e2505f9..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List.cs +++ /dev/null @@ -1,490 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get - /// the next page of storage containers. - /// - /// - /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMStoragePath_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the storage containers in the specified resource group. Use the nextLink property in the response to get the next page of storage containers.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMStoragePath_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMStoragePath_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List1.cs deleted file mode 100644 index ae9731050168..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMStoragePath_List1.cs +++ /dev/null @@ -1,476 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the - /// next page of storage containers. - /// - /// - /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMStoragePath_List1")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the storage containers in the specified subscription. Use the nextLink property in the response to get the next page of storage containers.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/storageContainers", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMStoragePath_List1 : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMStoragePath_List1() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersListAll(SubscriptionId, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_Get.cs deleted file mode 100644 index dfa978a28f7f..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_Get.cs +++ /dev/null @@ -1,475 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Gets a virtual hard disk - /// - /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualHardDisk_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a virtual hard disk")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMVirtualHardDisk_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMVirtualHardDisk_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksGet(SubscriptionId, ResourceGroupName, Name, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List.cs deleted file mode 100644 index f06a347001a2..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List.cs +++ /dev/null @@ -1,490 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get - /// the next page of virtual hard disks. - /// - /// - /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualHardDisk_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the virtual hard disks in the specified resource group. Use the nextLink property in the response to get the next page of virtual hard disks.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMVirtualHardDisk_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMVirtualHardDisk_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksList(SubscriptionId, ResourceGroupName, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List1.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List1.cs deleted file mode 100644 index b665f63371ca..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualHardDisk_List1.cs +++ /dev/null @@ -1,476 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the - /// next page of virtual hard disks. - /// - /// - /// [OpenAPI] ListAll=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualHardDisk_List1")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the virtual hard disks in the specified subscription. Use the nextLink property in the response to get the next page of virtual hard disks.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/virtualHardDisks", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMVirtualHardDisk_List1 : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string[] _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMVirtualHardDisk_List1() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - foreach( var SubscriptionId in this.SubscriptionId ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksListAll(SubscriptionId, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksListAll_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_Get.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_Get.cs deleted file mode 100644 index 1b8b2d782372..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_Get.cs +++ /dev/null @@ -1,441 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Gets a virtual machine instance - /// - /// [OpenAPI] Get=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualMachine_Get")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Gets a virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMVirtualMachine_Get : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMVirtualMachine_Get() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesGet(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_List.cs b/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_List.cs deleted file mode 100644 index 456f2bf5a4ca..000000000000 --- a/azstackhci-powershell/generated/cmdlets/GetAzStackHciVMVirtualMachine_List.cs +++ /dev/null @@ -1,470 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// Lists all of the virtual machine instances within the specified parent resource. - /// - /// - /// [OpenAPI] List=>GET:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzStackHCIVMVirtualMachine_List")] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Lists all of the virtual machine instances within the specified parent resource.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances", ApiVersion = "2024-01-01")] - public partial class GetAzStackHCIVMVirtualMachine_List : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// A flag to tell whether it is the first onOK call. - private bool _isFirst = true; - - /// Link to retrieve next page. - private string _nextLink; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceListResult - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public GetAzStackHCIVMVirtualMachine_List() - { - - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - var data = messageData(); - WriteInformation(data.Message, new string[]{}); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesList(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceListResult - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceListResult - var result = (await response); - // response should be returning an array of some kind. +Pageable - // pageable / value / nextLink - if (null != result.Value) - { - if (0 == _responseSize && 1 == result.Value.Count) - { - _firstResponse = result.Value[0]; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - var values = new System.Collections.Generic.List(); - foreach( var value in result.Value ) - { - values.Add(value.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(values, true); - _responseSize = 2; - } - } - _nextLink = result.NextLink; - if (_isFirst) - { - _isFirst = false; - while (!String.IsNullOrEmpty(_nextLink)) - { - if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) - { - requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Method.Get ); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesList_Call(requestMessage, onOk, onDefault, this, Pipeline); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath.cs deleted file mode 100644 index ba14f06c95a7..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGalleryImage_CreateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Create operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath Clone() - { - var clone = new NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMGalleryImage_CreateViaJsonFilePath() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonString.cs deleted file mode 100644 index 47786da38ebe..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGalleryImage_CreateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGalleryImage_CreateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMGalleryImage_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Create operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMGalleryImage_CreateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGalleryImage_CreateViaJsonString Clone() - { - var clone = new NewAzStackHCIVMGalleryImage_CreateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMGalleryImage_CreateViaJsonString() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath.cs deleted file mode 100644 index 66d7fb900899..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath.cs +++ /dev/null @@ -1,541 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Create GuestAgent. - /// - /// [OpenAPI] Create=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGuestAgent_CreateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Create GuestAgent.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Create operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath Clone() - { - var clone = new NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMGuestAgent_CreateViaJsonFilePath() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GuestAgentCreate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GuestAgentCreateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonString.cs deleted file mode 100644 index ab56ca51414e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMGuestAgent_CreateViaJsonString.cs +++ /dev/null @@ -1,539 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Create GuestAgent. - /// - /// [OpenAPI] Create=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGuestAgent_CreateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Create GuestAgent.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMGuestAgent_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Create operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMGuestAgent_CreateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGuestAgent_CreateViaJsonString Clone() - { - var clone = new NewAzStackHCIVMGuestAgent_CreateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMGuestAgent_CreateViaJsonString() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GuestAgentCreate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GuestAgentCreateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath.cs deleted file mode 100644 index 7a54c58e75e2..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMLogicalNetwork_CreateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Create operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath Clone() - { - var clone = new NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMLogicalNetwork_CreateViaJsonFilePath() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonString.cs deleted file mode 100644 index 3a9ec8698946..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMLogicalNetwork_CreateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMLogicalNetwork_CreateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMLogicalNetwork_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Create operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMLogicalNetwork_CreateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMLogicalNetwork_CreateViaJsonString Clone() - { - var clone = new NewAzStackHCIVMLogicalNetwork_CreateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMLogicalNetwork_CreateViaJsonString() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath.cs deleted file mode 100644 index 8b106fcd1a1d..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath.cs +++ /dev/null @@ -1,580 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Create operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath Clone() - { - var clone = new NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString.cs deleted file mode 100644 index 5e147f5aabd6..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString.cs +++ /dev/null @@ -1,578 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Create operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString Clone() - { - var clone = new NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath.cs deleted file mode 100644 index 095eeada360e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMNetworkInterface_CreateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Create operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath Clone() - { - var clone = new NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMNetworkInterface_CreateViaJsonFilePath() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonString.cs deleted file mode 100644 index a7bd587a6127..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMNetworkInterface_CreateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMNetworkInterface_CreateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMNetworkInterface_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Create operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMNetworkInterface_CreateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMNetworkInterface_CreateViaJsonString Clone() - { - var clone = new NewAzStackHCIVMNetworkInterface_CreateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMNetworkInterface_CreateViaJsonString() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonFilePath.cs deleted file mode 100644 index ed09de3d2e54..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMStoragePath_CreateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMStoragePath_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Create operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMStoragePath_CreateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMStoragePath_CreateViaJsonFilePath Clone() - { - var clone = new NewAzStackHCIVMStoragePath_CreateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMStoragePath_CreateViaJsonFilePath() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonString.cs deleted file mode 100644 index 9d0578636e65..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMStoragePath_CreateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMStoragePath_CreateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMStoragePath_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Create operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMStoragePath_CreateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMStoragePath_CreateViaJsonString Clone() - { - var clone = new NewAzStackHCIVMStoragePath_CreateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMStoragePath_CreateViaJsonString() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath.cs deleted file mode 100644 index 12b1daa33328..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Create operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath Clone() - { - var clone = new NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString.cs deleted file mode 100644 index 86c1f625ffc3..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualHardDisk_CreateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Create operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString Clone() - { - var clone = new NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMVirtualHardDisk_CreateViaJsonString() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath.cs deleted file mode 100644 index d35af64052ce..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath.cs +++ /dev/null @@ -1,544 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualMachine_CreateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Create operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath Clone() - { - var clone = new NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMVirtualMachine_CreateViaJsonFilePath() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesCreateOrUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonString.cs deleted file mode 100644 index 0ff3a6c6c09a..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHCIVMVirtualMachine_CreateViaJsonString.cs +++ /dev/null @@ -1,542 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualMachine_CreateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class NewAzStackHCIVMVirtualMachine_CreateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Create operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Create operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Create operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMVirtualMachine_CreateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualMachine_CreateViaJsonString Clone() - { - var clone = new NewAzStackHCIVMVirtualMachine_CreateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMVirtualMachine_CreateViaJsonString() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesCreateOrUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGalleryImage_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGalleryImage_CreateExpanded.cs deleted file mode 100644 index f6925fddcc48..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGalleryImage_CreateExpanded.cs +++ /dev/null @@ -1,724 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGalleryImage_CreateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - public partial class NewAzStackHCIVMGalleryImage_CreateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The gallery images resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages _galleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]", - SerializedName = @"cloudInitDataSource", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] - public string CloudInitDataSource { get => _galleryImagesBody.CloudInitDataSource ?? null; set => _galleryImagesBody.CloudInitDataSource = value; } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string CustomLocationId { get => _galleryImagesBody.ExtendedLocationName ?? null; set => _galleryImagesBody.ExtendedLocationName = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"""CustomLocation""", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _galleryImagesBody.ExtendedLocationType ?? null; set => _galleryImagesBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The hypervisor generation of the Virtual Machine [V1, V2] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", - SerializedName = @"hyperVGeneration", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - public string HyperVGeneration { get => _galleryImagesBody.HyperVGeneration ?? null; set => _galleryImagesBody.HyperVGeneration = value; } - - /// location of the image the gallery image should be created from - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "location of the image the gallery image should be created from")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"location of the image the gallery image should be created from", - SerializedName = @"imagePath", - PossibleTypes = new [] { typeof(string) })] - public string ImagePath { get => _galleryImagesBody.ImagePath ?? null; set => _galleryImagesBody.ImagePath = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _galleryImagesBody.Location ?? null; set => _galleryImagesBody.Location = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// Operating system type that the gallery image uses [Windows, Linux] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Operating system type that the gallery image uses [Windows, Linux]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Operating system type that the gallery image uses [Windows, Linux]", - SerializedName = @"osType", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - public string OSType { get => _galleryImagesBody.OSType ?? null; set => _galleryImagesBody.OSType = value; } - - /// The name of the gallery image definition offer. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition offer.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition offer.", - SerializedName = @"offer", - PossibleTypes = new [] { typeof(string) })] - public string Offer { get => _galleryImagesBody.IdentifierOffer ?? null; set => _galleryImagesBody.IdentifierOffer = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// The name of the gallery image definition publisher. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition publisher.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition publisher.", - SerializedName = @"publisher", - PossibleTypes = new [] { typeof(string) })] - public string Publisher { get => _galleryImagesBody.IdentifierPublisher ?? null; set => _galleryImagesBody.IdentifierPublisher = value; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// The name of the gallery image definition SKU. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition SKU.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition SKU.", - SerializedName = @"sku", - PossibleTypes = new [] { typeof(string) })] - public string Sku { get => _galleryImagesBody.IdentifierSku ?? null; set => _galleryImagesBody.IdentifierSku = value; } - - /// Storage ContainerID of the storage container to be used for gallery image - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for gallery image")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Storage ContainerID of the storage container to be used for gallery image", - SerializedName = @"containerId", - PossibleTypes = new [] { typeof(string) })] - public string StoragePathId { get => _galleryImagesBody.ContainerId ?? null; set => _galleryImagesBody.ContainerId = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _galleryImagesBody.Tag ?? null /* object */; set => _galleryImagesBody.Tag = value; } - - /// This is the version of the gallery image. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This is the version of the gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"This is the version of the gallery image.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string Version { get => _galleryImagesBody.VersionName ?? null; set => _galleryImagesBody.VersionName = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMGalleryImage_CreateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGalleryImage_CreateExpanded Clone() - { - var clone = new NewAzStackHCIVMGalleryImage_CreateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._galleryImagesBody = this._galleryImagesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMGalleryImage_CreateExpanded() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) - { - ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; - } - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _galleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGuestAgent_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGuestAgent_CreateExpanded.cs deleted file mode 100644 index 472e5dca05b9..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMGuestAgent_CreateExpanded.cs +++ /dev/null @@ -1,562 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Create GuestAgent. - /// - /// [OpenAPI] Create=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMGuestAgent_CreateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Create GuestAgent.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] - public partial class NewAzStackHCIVMGuestAgent_CreateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// Defines the GuestAgent. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent _body = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GuestAgent(); - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// The password to connect with the guest. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The password to connect with the guest.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The password to connect with the guest.", - SerializedName = @"password", - PossibleTypes = new [] { typeof(string) })] - public string CredentialsPassword { get => _body.CredentialsPassword ?? null; set => _body.CredentialsPassword = value; } - - /// The username to connect with the guest. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The username to connect with the guest.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The username to connect with the guest.", - SerializedName = @"username", - PossibleTypes = new [] { typeof(string) })] - public string CredentialsUsername { get => _body.CredentialsUsername ?? null; set => _body.CredentialsUsername = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The guest agent provisioning action. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The guest agent provisioning action.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The guest agent provisioning action.", - SerializedName = @"provisioningAction", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("install", "uninstall", "repair")] - public string ProvisioningAction { get => _body.ProvisioningAction ?? null; set => _body.ProvisioningAction = value; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMGuestAgent_CreateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMGuestAgent_CreateExpanded Clone() - { - var clone = new NewAzStackHCIVMGuestAgent_CreateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._body = this._body; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMGuestAgent_CreateExpanded() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GuestAgentCreate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GuestAgentCreate(ResourceUri, _body, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMLogicalNetwork_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMLogicalNetwork_CreateExpanded.cs deleted file mode 100644 index 9d3c09f9d9fd..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMLogicalNetwork_CreateExpanded.cs +++ /dev/null @@ -1,655 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMLogicalNetwork_CreateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - public partial class NewAzStackHCIVMLogicalNetwork_CreateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The logical network resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks _logicalNetworksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string CustomLocationId { get => _logicalNetworksBody.ExtendedLocationName ?? null; set => _logicalNetworksBody.ExtendedLocationName = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The list of DNS servers IP addresses. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of DNS servers IP addresses.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The list of DNS servers IP addresses.", - SerializedName = @"dnsServers", - PossibleTypes = new [] { typeof(string) })] - public string[] DnsServer { get => _logicalNetworksBody.DhcpOptionDnsServer?.ToArray() ?? null /* fixedArrayOf */; set => _logicalNetworksBody.DhcpOptionDnsServer = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"""CustomLocation""", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _logicalNetworksBody.ExtendedLocationType ?? null; set => _logicalNetworksBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _logicalNetworksBody.Location ?? null; set => _logicalNetworksBody.Location = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Subnet - list of subnets under the logical network - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Subnet - list of subnets under the logical network")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Subnet - list of subnets under the logical network", - SerializedName = @"subnets", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet[] Subnet { get => _logicalNetworksBody.Subnet?.ToArray() ?? null /* fixedArrayOf */; set => _logicalNetworksBody.Subnet = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _logicalNetworksBody.Tag ?? null /* object */; set => _logicalNetworksBody.Tag = value; } - - /// name of the network switch to be used for VMs - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "name of the network switch to be used for VMs")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"name of the network switch to be used for VMs", - SerializedName = @"vmSwitchName", - PossibleTypes = new [] { typeof(string) })] - public string VMSwitchName { get => _logicalNetworksBody.VMSwitchName ?? null; set => _logicalNetworksBody.VMSwitchName = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMLogicalNetwork_CreateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMLogicalNetwork_CreateExpanded Clone() - { - var clone = new NewAzStackHCIVMLogicalNetwork_CreateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._logicalNetworksBody = this._logicalNetworksBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMLogicalNetwork_CreateExpanded() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) - { - ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; - } - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _logicalNetworksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMMarketplaceGalleryImage_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMMarketplaceGalleryImage_CreateExpanded.cs deleted file mode 100644 index 21ff43fb949e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMMarketplaceGalleryImage_CreateExpanded.cs +++ /dev/null @@ -1,716 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMMarketplaceGalleryImage_CreateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - public partial class NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The marketplace gallery image resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages _marketplaceGalleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]", - SerializedName = @"cloudInitDataSource", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] - public string CloudInitDataSource { get => _marketplaceGalleryImagesBody.CloudInitDataSource ?? null; set => _marketplaceGalleryImagesBody.CloudInitDataSource = value; } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string CustomLocationId { get => _marketplaceGalleryImagesBody.ExtendedLocationName ?? null; set => _marketplaceGalleryImagesBody.ExtendedLocationName = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"""CustomLocation""", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _marketplaceGalleryImagesBody.ExtendedLocationType ?? null; set => _marketplaceGalleryImagesBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The hypervisor generation of the Virtual Machine [V1, V2] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", - SerializedName = @"hyperVGeneration", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - public string HyperVGeneration { get => _marketplaceGalleryImagesBody.HyperVGeneration ?? null; set => _marketplaceGalleryImagesBody.HyperVGeneration = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _marketplaceGalleryImagesBody.Location ?? null; set => _marketplaceGalleryImagesBody.Location = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// Operating system type that the gallery image uses [Windows, Linux] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Operating system type that the gallery image uses [Windows, Linux]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Operating system type that the gallery image uses [Windows, Linux]", - SerializedName = @"osType", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - public string OSType { get => _marketplaceGalleryImagesBody.OSType ?? null; set => _marketplaceGalleryImagesBody.OSType = value; } - - /// The name of the gallery image definition offer. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition offer.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition offer.", - SerializedName = @"offer", - PossibleTypes = new [] { typeof(string) })] - public string Offer { get => _marketplaceGalleryImagesBody.IdentifierOffer ?? null; set => _marketplaceGalleryImagesBody.IdentifierOffer = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// The name of the gallery image definition publisher. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition publisher.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition publisher.", - SerializedName = @"publisher", - PossibleTypes = new [] { typeof(string) })] - public string Publisher { get => _marketplaceGalleryImagesBody.IdentifierPublisher ?? null; set => _marketplaceGalleryImagesBody.IdentifierPublisher = value; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// The name of the gallery image definition SKU. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition SKU.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition SKU.", - SerializedName = @"sku", - PossibleTypes = new [] { typeof(string) })] - public string Sku { get => _marketplaceGalleryImagesBody.IdentifierSku ?? null; set => _marketplaceGalleryImagesBody.IdentifierSku = value; } - - /// - /// Storage ContainerID of the storage container to be used for marketplace gallery image - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for marketplace gallery image")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Storage ContainerID of the storage container to be used for marketplace gallery image", - SerializedName = @"containerId", - PossibleTypes = new [] { typeof(string) })] - public string StoragePathId { get => _marketplaceGalleryImagesBody.ContainerId ?? null; set => _marketplaceGalleryImagesBody.ContainerId = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _marketplaceGalleryImagesBody.Tag ?? null /* object */; set => _marketplaceGalleryImagesBody.Tag = value; } - - /// This is the version of the gallery image. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This is the version of the gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"This is the version of the gallery image.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string Version { get => _marketplaceGalleryImagesBody.VersionName ?? null; set => _marketplaceGalleryImagesBody.VersionName = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded Clone() - { - var clone = new NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._marketplaceGalleryImagesBody = this._marketplaceGalleryImagesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMMarketplaceGalleryImage_CreateExpanded() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) - { - ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; - } - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMNetworkInterface_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMNetworkInterface_CreateExpanded.cs deleted file mode 100644 index 1a8763ec6eb8..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMNetworkInterface_CreateExpanded.cs +++ /dev/null @@ -1,655 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMNetworkInterface_CreateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - public partial class NewAzStackHCIVMNetworkInterface_CreateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The network interface resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces _networkInterfacesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string CustomLocationId { get => _networkInterfacesBody.ExtendedLocationName ?? null; set => _networkInterfacesBody.ExtendedLocationName = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// List of DNS server IP Addresses for the interface - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "List of DNS server IP Addresses for the interface")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"List of DNS server IP Addresses for the interface", - SerializedName = @"dnsServers", - PossibleTypes = new [] { typeof(string) })] - public string[] DnsServer { get => _networkInterfacesBody.DnsSettingDnsServer?.ToArray() ?? null /* fixedArrayOf */; set => _networkInterfacesBody.DnsSettingDnsServer = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"""CustomLocation""", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _networkInterfacesBody.ExtendedLocationType ?? null; set => _networkInterfacesBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// IPConfigurations - A list of IPConfigurations of the network interface. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "IPConfigurations - A list of IPConfigurations of the network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"IPConfigurations - A list of IPConfigurations of the network interface.", - SerializedName = @"ipConfigurations", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration[] IPConfiguration { get => _networkInterfacesBody.IPConfiguration?.ToArray() ?? null /* fixedArrayOf */; set => _networkInterfacesBody.IPConfiguration = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _networkInterfacesBody.Location ?? null; set => _networkInterfacesBody.Location = value; } - - /// MacAddress - The MAC address of the network interface. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "MacAddress - The MAC address of the network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"MacAddress - The MAC address of the network interface.", - SerializedName = @"macAddress", - PossibleTypes = new [] { typeof(string) })] - public string MacAddress { get => _networkInterfacesBody.MacAddress ?? null; set => _networkInterfacesBody.MacAddress = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _networkInterfacesBody.Tag ?? null /* object */; set => _networkInterfacesBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMNetworkInterface_CreateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMNetworkInterface_CreateExpanded Clone() - { - var clone = new NewAzStackHCIVMNetworkInterface_CreateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._networkInterfacesBody = this._networkInterfacesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMNetworkInterface_CreateExpanded() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) - { - ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; - } - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _networkInterfacesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMStoragePath_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMStoragePath_CreateExpanded.cs deleted file mode 100644 index e18878bcb7f8..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMStoragePath_CreateExpanded.cs +++ /dev/null @@ -1,631 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMStoragePath_CreateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - public partial class NewAzStackHCIVMStoragePath_CreateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The storage container resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers _storageContainersBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string CustomLocationId { get => _storageContainersBody.ExtendedLocationName ?? null; set => _storageContainersBody.ExtendedLocationName = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"""CustomLocation""", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _storageContainersBody.ExtendedLocationType ?? null; set => _storageContainersBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _storageContainersBody.Location ?? null; set => _storageContainersBody.Location = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// Path of the storage container on the disk - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Path of the storage container on the disk")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Path of the storage container on the disk", - SerializedName = @"path", - PossibleTypes = new [] { typeof(string) })] - public string Path { get => _storageContainersBody.Path ?? null; set => _storageContainersBody.Path = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _storageContainersBody.Tag ?? null /* object */; set => _storageContainersBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMStoragePath_CreateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMStoragePath_CreateExpanded Clone() - { - var clone = new NewAzStackHCIVMStoragePath_CreateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._storageContainersBody = this._storageContainersBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMStoragePath_CreateExpanded() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) - { - ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; - } - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _storageContainersBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualHardDisk_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualHardDisk_CreateExpanded.cs deleted file mode 100644 index 18386540dff4..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualHardDisk_CreateExpanded.cs +++ /dev/null @@ -1,710 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualHardDisk_CreateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - public partial class NewAzStackHCIVMVirtualHardDisk_CreateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The virtual hard disk resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks _virtualHardDisksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"blockSizeBytes", - PossibleTypes = new [] { typeof(int) })] - public int BlockSizeByte { get => _virtualHardDisksBody.BlockSizeByte ?? default(int); set => _virtualHardDisksBody.BlockSizeByte = value; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string CustomLocationId { get => _virtualHardDisksBody.ExtendedLocationName ?? null; set => _virtualHardDisksBody.ExtendedLocationName = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The format of the actual VHD file [vhd, vhdx] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The format of the actual VHD file [vhd, vhdx]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The format of the actual VHD file [vhd, vhdx]", - SerializedName = @"diskFileFormat", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("vhdx", "vhd")] - public string DiskFileFormat { get => _virtualHardDisksBody.DiskFileFormat ?? null; set => _virtualHardDisksBody.DiskFileFormat = value; } - - /// Boolean for enabling dynamic sizing on the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Boolean for enabling dynamic sizing on the virtual hard disk")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Boolean for enabling dynamic sizing on the virtual hard disk", - SerializedName = @"dynamic", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter Dynamic { get => _virtualHardDisksBody.Dynamic ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualHardDisksBody.Dynamic = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"""CustomLocation""", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _virtualHardDisksBody.ExtendedLocationType ?? null; set => _virtualHardDisksBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The hypervisor generation of the Virtual Machine [V1, V2] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", - SerializedName = @"hyperVGeneration", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - public string HyperVGeneration { get => _virtualHardDisksBody.HyperVGeneration ?? null; set => _virtualHardDisksBody.HyperVGeneration = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _virtualHardDisksBody.Location ?? null; set => _virtualHardDisksBody.Location = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"logicalSectorBytes", - PossibleTypes = new [] { typeof(int) })] - public int LogicalSectorByte { get => _virtualHardDisksBody.LogicalSectorByte ?? default(int); set => _virtualHardDisksBody.LogicalSectorByte = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"physicalSectorBytes", - PossibleTypes = new [] { typeof(int) })] - public int PhysicalSectorByte { get => _virtualHardDisksBody.PhysicalSectorByte ?? default(int); set => _virtualHardDisksBody.PhysicalSectorByte = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Size of the disk in GB - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Size of the disk in GB")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Size of the disk in GB", - SerializedName = @"diskSizeGB", - PossibleTypes = new [] { typeof(long) })] - public long SizeGb { get => _virtualHardDisksBody.DiskSizeGb ?? default(long); set => _virtualHardDisksBody.DiskSizeGb = value; } - - /// Storage ContainerID of the storage container to be used for VHD - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for VHD")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Storage ContainerID of the storage container to be used for VHD", - SerializedName = @"containerId", - PossibleTypes = new [] { typeof(string) })] - public string StoragePathId { get => _virtualHardDisksBody.ContainerId ?? null; set => _virtualHardDisksBody.ContainerId = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _virtualHardDisksBody.Tag ?? null /* object */; set => _virtualHardDisksBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMVirtualHardDisk_CreateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualHardDisk_CreateExpanded Clone() - { - var clone = new NewAzStackHCIVMVirtualHardDisk_CreateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._virtualHardDisksBody = this._virtualHardDisksBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMVirtualHardDisk_CreateExpanded() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) - { - ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; - } - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _virtualHardDisksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualMachine_CreateExpanded.cs b/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualMachine_CreateExpanded.cs deleted file mode 100644 index 63ee3912c80f..000000000000 --- a/azstackhci-powershell/generated/cmdlets/NewAzStackHciVMVirtualMachine_CreateExpanded.cs +++ /dev/null @@ -1,962 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzStackHCIVMVirtualMachine_CreateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - public partial class NewAzStackHCIVMVirtualMachine_CreateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The virtual machine instance resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance _virtualMachineInstanceBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance(); - - /// AdminPassword - admin password - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "AdminPassword - admin password")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"AdminPassword - admin password", - SerializedName = @"adminPassword", - PossibleTypes = new [] { typeof(string) })] - public string AdminPassword { get => _virtualMachineInstanceBody.OSProfileAdminPassword ?? null; set => _virtualMachineInstanceBody.OSProfileAdminPassword = value; } - - /// AdminUsername - admin username - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "AdminUsername - admin username")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"AdminUsername - admin username", - SerializedName = @"adminUsername", - PossibleTypes = new [] { typeof(string) })] - public string AdminUsername { get => _virtualMachineInstanceBody.OSProfileAdminUsername ?? null; set => _virtualMachineInstanceBody.OSProfileAdminUsername = value; } - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// ComputerName - name of the compute - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "ComputerName - name of the compute")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"ComputerName - name of the compute", - SerializedName = @"computerName", - PossibleTypes = new [] { typeof(string) })] - public string ComputerName { get => _virtualMachineInstanceBody.OSProfileComputerName ?? null; set => _virtualMachineInstanceBody.OSProfileComputerName = value; } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string CustomLocationId { get => _virtualMachineInstanceBody.ExtendedLocationName ?? null; set => _virtualMachineInstanceBody.ExtendedLocationName = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// - /// DisablePasswordAuthentication - whether password authentication should be disabled - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "DisablePasswordAuthentication - whether password authentication should be disabled")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"DisablePasswordAuthentication - whether password authentication should be disabled", - SerializedName = @"disablePasswordAuthentication", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter DisablePasswordAuthentication { get => _virtualMachineInstanceBody.LinuxConfigurationDisablePasswordAuthentication ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationDisablePasswordAuthentication = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"maximumMemoryMB", - PossibleTypes = new [] { typeof(long) })] - public long DynamicMemoryMaximumMemoryInMb { get => _virtualMachineInstanceBody.DynamicMemoryConfigMaximumMemoryMb ?? default(long); set => _virtualMachineInstanceBody.DynamicMemoryConfigMaximumMemoryMb = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"minimumMemoryMB", - PossibleTypes = new [] { typeof(long) })] - public long DynamicMemoryMinimumMemoryInMb { get => _virtualMachineInstanceBody.DynamicMemoryConfigMinimumMemoryMb ?? default(long); set => _virtualMachineInstanceBody.DynamicMemoryConfigMinimumMemoryMb = value; } - - /// - /// Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage - /// of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic - /// memory enabled. This property can be in the range of 5 to 2000. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.", - SerializedName = @"targetMemoryBuffer", - PossibleTypes = new [] { typeof(int) })] - public int DynamicMemoryTargetBuffer { get => _virtualMachineInstanceBody.DynamicMemoryConfigTargetMemoryBuffer ?? default(int); set => _virtualMachineInstanceBody.DynamicMemoryConfigTargetMemoryBuffer = value; } - - /// Whether to EnableAutomaticUpdates on the machine - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Whether to EnableAutomaticUpdates on the machine")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Whether to EnableAutomaticUpdates on the machine", - SerializedName = @"enableAutomaticUpdates", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter EnableAutomaticUpdate { get => _virtualMachineInstanceBody.WindowConfigurationEnableAutomaticUpdate ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationEnableAutomaticUpdate = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"enableTPM", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter EnableTpm { get => _virtualMachineInstanceBody.SecurityProfileEnableTpm ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.SecurityProfileEnableTpm = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"""CustomLocation""", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.DoNotExport] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _virtualMachineInstanceBody.ExtendedLocationType ?? null; set => _virtualMachineInstanceBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The HTTP proxy server endpoint to use. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The HTTP proxy server endpoint to use.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The HTTP proxy server endpoint to use.", - SerializedName = @"httpProxy", - PossibleTypes = new [] { typeof(string) })] - public string HttpProxyConfigHttpProxy { get => _virtualMachineInstanceBody.HttpProxyConfigHttpProxy ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigHttpProxy = value; } - - /// The HTTPS proxy server endpoint to use. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The HTTPS proxy server endpoint to use.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The HTTPS proxy server endpoint to use.", - SerializedName = @"httpsProxy", - PossibleTypes = new [] { typeof(string) })] - public string HttpProxyConfigHttpsProxy { get => _virtualMachineInstanceBody.HttpProxyConfigHttpsProxy ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigHttpsProxy = value; } - - /// The endpoints that should not go through proxy. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The endpoints that should not go through proxy.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The endpoints that should not go through proxy.", - SerializedName = @"noProxy", - PossibleTypes = new [] { typeof(string) })] - public string[] HttpProxyConfigNoProxy { get => _virtualMachineInstanceBody.HttpProxyConfigNoProxy?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.HttpProxyConfigNoProxy = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// Alternative CA cert to use for connecting to proxy servers. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Alternative CA cert to use for connecting to proxy servers.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Alternative CA cert to use for connecting to proxy servers.", - SerializedName = @"trustedCa", - PossibleTypes = new [] { typeof(string) })] - public string HttpProxyConfigTrustedCa { get => _virtualMachineInstanceBody.HttpProxyConfigTrustedCa ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigTrustedCa = value; } - - /// The identity type. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The identity type.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The identity type.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - public string IdentityType { get => _virtualMachineInstanceBody.IdentityType ?? null; set => _virtualMachineInstanceBody.IdentityType = value; } - - /// Resource ID of the image - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource ID of the image")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource ID of the image", - SerializedName = @"id", - PossibleTypes = new [] { typeof(string) })] - public string ImageId { get => _virtualMachineInstanceBody.ImageReferenceId ?? null; set => _virtualMachineInstanceBody.ImageReferenceId = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation - /// process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", - SerializedName = @"provisionVMAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent = value; } - - /// - /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", - SerializedName = @"provisionVMConfigAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent = value; } - - /// The list of SSH public keys used to authenticate with linux based VMs. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of SSH public keys used to authenticate with linux based VMs.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The list of SSH public keys used to authenticate with linux based VMs.", - SerializedName = @"publicKeys", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[] LinuxConfigurationSshPublicKey { get => _virtualMachineInstanceBody.LinuxConfigurationSshPublicKey?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.LinuxConfigurationSshPublicKey = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - /// - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance", - SerializedName = @"networkInterfaces", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem[] NetworkProfileNetworkInterface { get => _virtualMachineInstanceBody.NetworkProfileNetworkInterface?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.NetworkProfileNetworkInterface = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// Resource ID of the OS disk - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource ID of the OS disk")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource ID of the OS disk", - SerializedName = @"id", - PossibleTypes = new [] { typeof(string) })] - public string OSDiskId { get => _virtualMachineInstanceBody.OSDiskId ?? null; set => _virtualMachineInstanceBody.OSDiskId = value; } - - /// - /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or - /// a specialized VHD. Possible values are: **Windows,** **Linux.** - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**", - SerializedName = @"osType", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - public string OSDiskOstype { get => _virtualMachineInstanceBody.OSDiskOstype ?? null; set => _virtualMachineInstanceBody.OSDiskOstype = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Unique identifier defined by ARC to identify the guest of the VM. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Unique identifier defined by ARC to identify the guest of the VM.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Unique identifier defined by ARC to identify the guest of the VM.", - SerializedName = @"resourceUid", - PossibleTypes = new [] { typeof(string) })] - public string ResourceUid { get => _virtualMachineInstanceBody.ResourceUid ?? null; set => _virtualMachineInstanceBody.ResourceUid = value; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// Specifies whether secure boot should be enabled on the virtual machine instance. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies whether secure boot should be enabled on the virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Specifies whether secure boot should be enabled on the virtual machine instance.", - SerializedName = @"secureBootEnabled", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter SecureBootEnabled { get => _virtualMachineInstanceBody.UefiSettingSecureBootEnabled ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.UefiSettingSecureBootEnabled = value; } - - /// - /// Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType - /// to function. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.", - SerializedName = @"securityType", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("TrustedLaunch", "ConfidentialVM")] - public string SecurityProfileSecurityType { get => _virtualMachineInstanceBody.SecurityProfileSecurityType ?? null; set => _virtualMachineInstanceBody.SecurityProfileSecurityType = value; } - - /// Id of the storage container that hosts the VM configuration file - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Id of the storage container that hosts the VM configuration file")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Id of the storage container that hosts the VM configuration file", - SerializedName = @"vmConfigStoragePathId", - PossibleTypes = new [] { typeof(string) })] - public string StoragePathId { get => _virtualMachineInstanceBody.StorageProfileVMConfigStoragePathId ?? null; set => _virtualMachineInstanceBody.StorageProfileVMConfigStoragePathId = value; } - - /// adds data disks to the virtual machine instance - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "adds data disks to the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"adds data disks to the virtual machine instance", - SerializedName = @"dataDisks", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem[] StorageProfileDataDisk { get => _virtualMachineInstanceBody.StorageProfileDataDisk?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.StorageProfileDataDisk = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// TimeZone for the virtual machine instance - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "TimeZone for the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"TimeZone for the virtual machine instance", - SerializedName = @"timeZone", - PossibleTypes = new [] { typeof(string) })] - public string TimeZone { get => _virtualMachineInstanceBody.WindowConfigurationTimeZone ?? null; set => _virtualMachineInstanceBody.WindowConfigurationTimeZone = value; } - - /// RAM in MB for the virtual machine instance - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "RAM in MB for the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"RAM in MB for the virtual machine instance", - SerializedName = @"memoryMB", - PossibleTypes = new [] { typeof(long) })] - public long VmMemory { get => _virtualMachineInstanceBody.HardwareProfileMemoryMb ?? default(long); set => _virtualMachineInstanceBody.HardwareProfileMemoryMb = value; } - - /// number of processors for the virtual machine instance - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "number of processors for the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"number of processors for the virtual machine instance", - SerializedName = @"processors", - PossibleTypes = new [] { typeof(int) })] - public int VmProcessor { get => _virtualMachineInstanceBody.HardwareProfileProcessor ?? default(int); set => _virtualMachineInstanceBody.HardwareProfileProcessor = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"vmSize", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] - public string VmSize { get => _virtualMachineInstanceBody.HardwareProfileVMSize ?? null; set => _virtualMachineInstanceBody.HardwareProfileVMSize = value; } - - /// - /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation - /// process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", - SerializedName = @"provisionVMAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent = value; } - - /// - /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", - SerializedName = @"provisionVMConfigAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent = value; } - - /// The list of SSH public keys used to authenticate with linux based VMs. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of SSH public keys used to authenticate with linux based VMs.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The list of SSH public keys used to authenticate with linux based VMs.", - SerializedName = @"publicKeys", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[] WindowsConfigurationSshPublicKey { get => _virtualMachineInstanceBody.WindowsConfigurationSshPublicKey?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.WindowsConfigurationSshPublicKey = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of NewAzStackHCIVMVirtualMachine_CreateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.NewAzStackHCIVMVirtualMachine_CreateExpanded Clone() - { - var clone = new NewAzStackHCIVMVirtualMachine_CreateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._virtualMachineInstanceBody = this._virtualMachineInstanceBody; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public NewAzStackHCIVMVirtualMachine_CreateExpanded() - { - - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - if (true == this.MyInvocation?.BoundParameters?.ContainsKey("ExtendedLocationType")) - { - ExtendedLocationType = (string)this.MyInvocation.BoundParameters["ExtendedLocationType"]; - } - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesCreateOrUpdate(ResourceUri, _virtualMachineInstanceBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeCreate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_Delete.cs deleted file mode 100644 index 32f98cecf226..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_Delete.cs +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a gallery image. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMGalleryImage_Delete", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMGalleryImage_Delete : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMGalleryImage_Delete - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMGalleryImage_Delete Clone() - { - var clone = new RemoveAzStackHCIVMGalleryImage_Delete(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMGalleryImage_Delete() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_DeleteViaIdentity.cs deleted file mode 100644 index f4d0f50b513c..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGalleryImage_DeleteViaIdentity.cs +++ /dev/null @@ -1,556 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a gallery image. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMGalleryImage_DeleteViaIdentity", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity Clone() - { - var clone = new RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.GalleryImagesDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.GalleryImageName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.GalleryImageName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.GalleryImagesDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.GalleryImageName ?? null, onOk, onNoContent, onDefault, this, Pipeline); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMGalleryImage_DeleteViaIdentity() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGuestAgent_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGuestAgent_Delete.cs deleted file mode 100644 index 9eb6756a0d30..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMGuestAgent_Delete.cs +++ /dev/null @@ -1,511 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// Implements GuestAgent DELETE method. - /// - /// [OpenAPI] Delete=>DELETE:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMGuestAgent_Delete", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"Implements GuestAgent DELETE method.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/guestAgents/default", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMGuestAgent_Delete : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMGuestAgent_Delete - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMGuestAgent_Delete Clone() - { - var clone = new RemoveAzStackHCIVMGuestAgent_Delete(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GuestAgentDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GuestAgentDelete(ResourceUri, onNoContent, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMGuestAgent_Delete() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_Delete.cs deleted file mode 100644 index fc91d9dd2b2c..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_Delete.cs +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a logical network. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMLogicalNetwork_Delete", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a logical network.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMLogicalNetwork_Delete : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMLogicalNetwork_Delete - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMLogicalNetwork_Delete Clone() - { - var clone = new RemoveAzStackHCIVMLogicalNetwork_Delete(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMLogicalNetwork_Delete() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_DeleteViaIdentity.cs deleted file mode 100644 index 5faceac796d0..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMLogicalNetwork_DeleteViaIdentity.cs +++ /dev/null @@ -1,556 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a logical network. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMLogicalNetwork_DeleteViaIdentity", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a logical network.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity Clone() - { - var clone = new RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.LogicalNetworksDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.LogicalNetworkName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.LogicalNetworkName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.LogicalNetworksDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.LogicalNetworkName ?? null, onOk, onNoContent, onDefault, this, Pipeline); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMLogicalNetwork_DeleteViaIdentity() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_Delete.cs deleted file mode 100644 index d0d25ec3a31d..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_Delete.cs +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a marketplace gallery image. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMMarketplaceGalleryImage_Delete", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a marketplace gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMMarketplaceGalleryImage_Delete : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMMarketplaceGalleryImage_Delete - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMMarketplaceGalleryImage_Delete Clone() - { - var clone = new RemoveAzStackHCIVMMarketplaceGalleryImage_Delete(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMMarketplaceGalleryImage_Delete() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_DeleteViaIdentity.cs deleted file mode 100644 index 0d7e6db1fc9b..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMMarketplaceGalleryImage_DeleteViaIdentity.cs +++ /dev/null @@ -1,558 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a marketplace gallery image. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a marketplace gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity Clone() - { - var clone = new RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.MarketplaceGalleryImagesDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.MarketplaceGalleryImageName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.MarketplaceGalleryImageName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.MarketplaceGalleryImagesDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.MarketplaceGalleryImageName ?? null, onOk, onNoContent, onDefault, this, Pipeline); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_Delete.cs deleted file mode 100644 index 99f0bc3e0c85..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_Delete.cs +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a network interface. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMNetworkInterface_Delete", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMNetworkInterface_Delete : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMNetworkInterface_Delete - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMNetworkInterface_Delete Clone() - { - var clone = new RemoveAzStackHCIVMNetworkInterface_Delete(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMNetworkInterface_Delete() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_DeleteViaIdentity.cs deleted file mode 100644 index 9c69dc011c49..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMNetworkInterface_DeleteViaIdentity.cs +++ /dev/null @@ -1,556 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a network interface. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMNetworkInterface_DeleteViaIdentity", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity Clone() - { - var clone = new RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.NetworkInterfacesDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.NetworkInterfaceName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.NetworkInterfaceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.NetworkInterfacesDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.NetworkInterfaceName ?? null, onOk, onNoContent, onDefault, this, Pipeline); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMNetworkInterface_DeleteViaIdentity() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_Delete.cs deleted file mode 100644 index 08eea5d97968..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_Delete.cs +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a storage container. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMStoragePath_Delete", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a storage container.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMStoragePath_Delete : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMStoragePath_Delete - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMStoragePath_Delete Clone() - { - var clone = new RemoveAzStackHCIVMStoragePath_Delete(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMStoragePath_Delete() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_DeleteViaIdentity.cs deleted file mode 100644 index 8f93feb7e5e3..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMStoragePath_DeleteViaIdentity.cs +++ /dev/null @@ -1,556 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a storage container. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMStoragePath_DeleteViaIdentity", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a storage container.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMStoragePath_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMStoragePath_DeleteViaIdentity - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMStoragePath_DeleteViaIdentity Clone() - { - var clone = new RemoveAzStackHCIVMStoragePath_DeleteViaIdentity(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.StorageContainersDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.StorageContainerName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.StorageContainerName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.StorageContainersDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.StorageContainerName ?? null, onOk, onNoContent, onDefault, this, Pipeline); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMStoragePath_DeleteViaIdentity() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_Delete.cs deleted file mode 100644 index d4c5bd05bc71..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_Delete.cs +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a virtual hard disk. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMVirtualHardDisk_Delete", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a virtual hard disk.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMVirtualHardDisk_Delete : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMVirtualHardDisk_Delete - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMVirtualHardDisk_Delete Clone() - { - var clone = new RemoveAzStackHCIVMVirtualHardDisk_Delete(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksDelete(SubscriptionId, ResourceGroupName, Name, onOk, onNoContent, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMVirtualHardDisk_Delete() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_DeleteViaIdentity.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_DeleteViaIdentity.cs deleted file mode 100644 index 1da0b7db3ab5..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualHardDisk_DeleteViaIdentity.cs +++ /dev/null @@ -1,556 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a virtual hard disk. - /// - /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMVirtualHardDisk_DeleteViaIdentity", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a virtual hard disk.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity Clone() - { - var clone = new RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.VirtualHardDisksDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.VirtualHardDiskName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.VirtualHardDiskName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.VirtualHardDisksDelete(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.VirtualHardDiskName ?? null, onOk, onNoContent, onDefault, this, Pipeline); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMVirtualHardDisk_DeleteViaIdentity() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualMachine_Delete.cs b/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualMachine_Delete.cs deleted file mode 100644 index f25d6b21ce51..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RemoveAzStackHciVMVirtualMachine_Delete.cs +++ /dev/null @@ -1,545 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to delete a virtual machine instance. - /// - /// [OpenAPI] Delete=>DELETE:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzStackHCIVMVirtualMachine_Delete", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(bool))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to delete a virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - public partial class RemoveAzStackHCIVMVirtualMachine_Delete : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter PassThru { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of - /// what happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onNoContent method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RemoveAzStackHCIVMVirtualMachine_Delete - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RemoveAzStackHCIVMVirtualMachine_Delete Clone() - { - var clone = new RemoveAzStackHCIVMVirtualMachine_Delete(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesDelete' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesDelete(ResourceUri, onOk, onNoContent, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RemoveAzStackHCIVMVirtualMachine_Delete() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 204 (NoContent). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnNoContent(responseMessage, ref _returnNow); - // if overrideOnNoContent has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onNoContent - response for 204 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / - if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) - { - WriteObject(true); - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/RestartAzStackHciVMVirtualMachine_Restart.cs b/azstackhci-powershell/generated/cmdlets/RestartAzStackHciVMVirtualMachine_Restart.cs deleted file mode 100644 index ab6504784c6b..000000000000 --- a/azstackhci-powershell/generated/cmdlets/RestartAzStackHciVMVirtualMachine_Restart.cs +++ /dev/null @@ -1,524 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to restart a virtual machine instance. - /// - /// [OpenAPI] Restart=>POST:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Restart, @"AzStackHCIVMVirtualMachine_Restart", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to restart a virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/restart", ApiVersion = "2024-01-01")] - public partial class RestartAzStackHCIVMVirtualMachine_Restart : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of RestartAzStackHCIVMVirtualMachine_Restart - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.RestartAzStackHCIVMVirtualMachine_Restart Clone() - { - var clone = new RestartAzStackHCIVMVirtualMachine_Restart(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesRestart' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesRestart(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public RestartAzStackHCIVMVirtualMachine_Restart() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs deleted file mode 100644 index 921ed3dee544..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMGalleryImage_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath Clone() - { - var clone = new SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMGalleryImage_UpdateViaJsonFilePath() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonString.cs deleted file mode 100644 index 16a1caaf8e6f..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMGalleryImage_UpdateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMGalleryImage_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMGalleryImage_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMGalleryImage_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMGalleryImage_UpdateViaJsonString Clone() - { - var clone = new SetAzStackHCIVMGalleryImage_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMGalleryImage_UpdateViaJsonString() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs deleted file mode 100644 index 818b882de579..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath Clone() - { - var clone = new SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs deleted file mode 100644 index 371fd4f8b1a5..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMLogicalNetwork_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString Clone() - { - var clone = new SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMLogicalNetwork_UpdateViaJsonString() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs deleted file mode 100644 index bcc73dd8e0fc..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,580 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath Clone() - { - var clone = new SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs deleted file mode 100644 index 5970ec72ce7e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs +++ /dev/null @@ -1,578 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString Clone() - { - var clone = new SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs deleted file mode 100644 index ab35955a84ff..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMNetworkInterface_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath Clone() - { - var clone = new SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs deleted file mode 100644 index 598b2d49bdf3..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMNetworkInterface_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMNetworkInterface_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMNetworkInterface_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMNetworkInterface_UpdateViaJsonString Clone() - { - var clone = new SetAzStackHCIVMNetworkInterface_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMNetworkInterface_UpdateViaJsonString() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath.cs deleted file mode 100644 index 1e920b6ed6e5..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMStorageContainer_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath Clone() - { - var clone = new SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMStorageContainer_UpdateViaJsonFilePath() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonString.cs deleted file mode 100644 index 9e5431c5a54e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMStorageContainer_UpdateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMStorageContainer_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMStorageContainer_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMStorageContainer_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMStorageContainer_UpdateViaJsonString Clone() - { - var clone = new SetAzStackHCIVMStorageContainer_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMStorageContainer_UpdateViaJsonString() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs deleted file mode 100644 index 2c2902696385..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,577 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath Clone() - { - var clone = new SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs deleted file mode 100644 index 8c321b91cb95..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualHardDisk_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString Clone() - { - var clone = new SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksCreateOrUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMVirtualHardDisk_UpdateViaJsonString() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath.cs deleted file mode 100644 index 1ca801ee2fdf..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath Clone() - { - var clone = new SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesCreateOrUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString.cs deleted file mode 100644 index 57a305515a7c..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString.cs +++ /dev/null @@ -1,544 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualMachineInstance_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString Clone() - { - var clone = new SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesCreateOrUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMVirtualMachineInstance_UpdateViaJsonString() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMGalleryImage_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMGalleryImage_UpdateExpanded.cs deleted file mode 100644 index 3fe21cf11ab8..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMGalleryImage_UpdateExpanded.cs +++ /dev/null @@ -1,714 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a gallery image. Please note some properties can be set only during gallery image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMGalleryImage_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a gallery image. Please note some properties can be set only during gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - public partial class SetAzStackHCIVMGalleryImage_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The gallery images resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages _galleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImages(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]", - SerializedName = @"cloudInitDataSource", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] - public string CloudInitDataSource { get => _galleryImagesBody.CloudInitDataSource ?? null; set => _galleryImagesBody.CloudInitDataSource = value; } - - /// Storage ContainerID of the storage container to be used for gallery image - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for gallery image")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Storage ContainerID of the storage container to be used for gallery image", - SerializedName = @"containerId", - PossibleTypes = new [] { typeof(string) })] - public string ContainerId { get => _galleryImagesBody.ContainerId ?? null; set => _galleryImagesBody.ContainerId = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string ExtendedLocationName { get => _galleryImagesBody.ExtendedLocationName ?? null; set => _galleryImagesBody.ExtendedLocationName = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _galleryImagesBody.ExtendedLocationType ?? null; set => _galleryImagesBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The hypervisor generation of the Virtual Machine [V1, V2] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", - SerializedName = @"hyperVGeneration", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - public string HyperVGeneration { get => _galleryImagesBody.HyperVGeneration ?? null; set => _galleryImagesBody.HyperVGeneration = value; } - - /// The name of the gallery image definition offer. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition offer.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition offer.", - SerializedName = @"offer", - PossibleTypes = new [] { typeof(string) })] - public string IdentifierOffer { get => _galleryImagesBody.IdentifierOffer ?? null; set => _galleryImagesBody.IdentifierOffer = value; } - - /// The name of the gallery image definition publisher. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition publisher.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition publisher.", - SerializedName = @"publisher", - PossibleTypes = new [] { typeof(string) })] - public string IdentifierPublisher { get => _galleryImagesBody.IdentifierPublisher ?? null; set => _galleryImagesBody.IdentifierPublisher = value; } - - /// The name of the gallery image definition SKU. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition SKU.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition SKU.", - SerializedName = @"sku", - PossibleTypes = new [] { typeof(string) })] - public string IdentifierSku { get => _galleryImagesBody.IdentifierSku ?? null; set => _galleryImagesBody.IdentifierSku = value; } - - /// location of the image the gallery image should be created from - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "location of the image the gallery image should be created from")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"location of the image the gallery image should be created from", - SerializedName = @"imagePath", - PossibleTypes = new [] { typeof(string) })] - public string ImagePath { get => _galleryImagesBody.ImagePath ?? null; set => _galleryImagesBody.ImagePath = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _galleryImagesBody.Location ?? null; set => _galleryImagesBody.Location = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// Operating system type that the gallery image uses [Windows, Linux] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Operating system type that the gallery image uses [Windows, Linux]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Operating system type that the gallery image uses [Windows, Linux]", - SerializedName = @"osType", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - public string OSType { get => _galleryImagesBody.OSType ?? null; set => _galleryImagesBody.OSType = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _galleryImagesBody.Tag ?? null /* object */; set => _galleryImagesBody.Tag = value; } - - /// This is the version of the gallery image. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This is the version of the gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"This is the version of the gallery image.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string VersionName { get => _galleryImagesBody.VersionName ?? null; set => _galleryImagesBody.VersionName = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMGalleryImage_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMGalleryImage_UpdateExpanded Clone() - { - var clone = new SetAzStackHCIVMGalleryImage_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._galleryImagesBody = this._galleryImagesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _galleryImagesBody, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMGalleryImage_UpdateExpanded() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMLogicalNetwork_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMLogicalNetwork_UpdateExpanded.cs deleted file mode 100644 index cafa802089c9..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMLogicalNetwork_UpdateExpanded.cs +++ /dev/null @@ -1,645 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a logical network. Please note some properties can be set only during logical network creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMLogicalNetwork_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a logical network. Please note some properties can be set only during logical network creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - public partial class SetAzStackHCIVMLogicalNetwork_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The logical network resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks _logicalNetworksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworks(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The list of DNS servers IP addresses. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of DNS servers IP addresses.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The list of DNS servers IP addresses.", - SerializedName = @"dnsServers", - PossibleTypes = new [] { typeof(string) })] - public string[] DhcpOptionDnsServer { get => _logicalNetworksBody.DhcpOptionDnsServer?.ToArray() ?? null /* fixedArrayOf */; set => _logicalNetworksBody.DhcpOptionDnsServer = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string ExtendedLocationName { get => _logicalNetworksBody.ExtendedLocationName ?? null; set => _logicalNetworksBody.ExtendedLocationName = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _logicalNetworksBody.ExtendedLocationType ?? null; set => _logicalNetworksBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _logicalNetworksBody.Location ?? null; set => _logicalNetworksBody.Location = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Subnet - list of subnets under the logical network - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Subnet - list of subnets under the logical network")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Subnet - list of subnets under the logical network", - SerializedName = @"subnets", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet[] Subnet { get => _logicalNetworksBody.Subnet?.ToArray() ?? null /* fixedArrayOf */; set => _logicalNetworksBody.Subnet = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _logicalNetworksBody.Tag ?? null /* object */; set => _logicalNetworksBody.Tag = value; } - - /// name of the network switch to be used for VMs - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "name of the network switch to be used for VMs")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"name of the network switch to be used for VMs", - SerializedName = @"vmSwitchName", - PossibleTypes = new [] { typeof(string) })] - public string VMSwitchName { get => _logicalNetworksBody.VMSwitchName ?? null; set => _logicalNetworksBody.VMSwitchName = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMLogicalNetwork_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMLogicalNetwork_UpdateExpanded Clone() - { - var clone = new SetAzStackHCIVMLogicalNetwork_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._logicalNetworksBody = this._logicalNetworksBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _logicalNetworksBody, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMLogicalNetwork_UpdateExpanded() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs deleted file mode 100644 index 2de1434071e1..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs +++ /dev/null @@ -1,706 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery - /// image creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMMarketplaceGalleryImage_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - public partial class SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The marketplace gallery image resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages _marketplaceGalleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImages(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure]", - SerializedName = @"cloudInitDataSource", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] - public string CloudInitDataSource { get => _marketplaceGalleryImagesBody.CloudInitDataSource ?? null; set => _marketplaceGalleryImagesBody.CloudInitDataSource = value; } - - /// - /// Storage ContainerID of the storage container to be used for marketplace gallery image - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for marketplace gallery image")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Storage ContainerID of the storage container to be used for marketplace gallery image", - SerializedName = @"containerId", - PossibleTypes = new [] { typeof(string) })] - public string ContainerId { get => _marketplaceGalleryImagesBody.ContainerId ?? null; set => _marketplaceGalleryImagesBody.ContainerId = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string ExtendedLocationName { get => _marketplaceGalleryImagesBody.ExtendedLocationName ?? null; set => _marketplaceGalleryImagesBody.ExtendedLocationName = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _marketplaceGalleryImagesBody.ExtendedLocationType ?? null; set => _marketplaceGalleryImagesBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The hypervisor generation of the Virtual Machine [V1, V2] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", - SerializedName = @"hyperVGeneration", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - public string HyperVGeneration { get => _marketplaceGalleryImagesBody.HyperVGeneration ?? null; set => _marketplaceGalleryImagesBody.HyperVGeneration = value; } - - /// The name of the gallery image definition offer. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition offer.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition offer.", - SerializedName = @"offer", - PossibleTypes = new [] { typeof(string) })] - public string IdentifierOffer { get => _marketplaceGalleryImagesBody.IdentifierOffer ?? null; set => _marketplaceGalleryImagesBody.IdentifierOffer = value; } - - /// The name of the gallery image definition publisher. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition publisher.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition publisher.", - SerializedName = @"publisher", - PossibleTypes = new [] { typeof(string) })] - public string IdentifierPublisher { get => _marketplaceGalleryImagesBody.IdentifierPublisher ?? null; set => _marketplaceGalleryImagesBody.IdentifierPublisher = value; } - - /// The name of the gallery image definition SKU. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the gallery image definition SKU.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the gallery image definition SKU.", - SerializedName = @"sku", - PossibleTypes = new [] { typeof(string) })] - public string IdentifierSku { get => _marketplaceGalleryImagesBody.IdentifierSku ?? null; set => _marketplaceGalleryImagesBody.IdentifierSku = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _marketplaceGalleryImagesBody.Location ?? null; set => _marketplaceGalleryImagesBody.Location = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// Operating system type that the gallery image uses [Windows, Linux] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Operating system type that the gallery image uses [Windows, Linux]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Operating system type that the gallery image uses [Windows, Linux]", - SerializedName = @"osType", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - public string OSType { get => _marketplaceGalleryImagesBody.OSType ?? null; set => _marketplaceGalleryImagesBody.OSType = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _marketplaceGalleryImagesBody.Tag ?? null /* object */; set => _marketplaceGalleryImagesBody.Tag = value; } - - /// This is the version of the gallery image. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This is the version of the gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"This is the version of the gallery image.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string VersionName { get => _marketplaceGalleryImagesBody.VersionName ?? null; set => _marketplaceGalleryImagesBody.VersionName = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded Clone() - { - var clone = new SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._marketplaceGalleryImagesBody = this._marketplaceGalleryImagesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMNetworkInterface_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMNetworkInterface_UpdateExpanded.cs deleted file mode 100644 index f6ebc727a5dd..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMNetworkInterface_UpdateExpanded.cs +++ /dev/null @@ -1,645 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a network interface. Please note some properties can be set only during network interface creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMNetworkInterface_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a network interface. Please note some properties can be set only during network interface creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - public partial class SetAzStackHCIVMNetworkInterface_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The network interface resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces _networkInterfacesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfaces(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// List of DNS server IP Addresses for the interface - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "List of DNS server IP Addresses for the interface")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"List of DNS server IP Addresses for the interface", - SerializedName = @"dnsServers", - PossibleTypes = new [] { typeof(string) })] - public string[] DnsSettingDnsServer { get => _networkInterfacesBody.DnsSettingDnsServer?.ToArray() ?? null /* fixedArrayOf */; set => _networkInterfacesBody.DnsSettingDnsServer = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string ExtendedLocationName { get => _networkInterfacesBody.ExtendedLocationName ?? null; set => _networkInterfacesBody.ExtendedLocationName = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _networkInterfacesBody.ExtendedLocationType ?? null; set => _networkInterfacesBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// IPConfigurations - A list of IPConfigurations of the network interface. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "IPConfigurations - A list of IPConfigurations of the network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"IPConfigurations - A list of IPConfigurations of the network interface.", - SerializedName = @"ipConfigurations", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration[] IPConfiguration { get => _networkInterfacesBody.IPConfiguration?.ToArray() ?? null /* fixedArrayOf */; set => _networkInterfacesBody.IPConfiguration = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _networkInterfacesBody.Location ?? null; set => _networkInterfacesBody.Location = value; } - - /// MacAddress - The MAC address of the network interface. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "MacAddress - The MAC address of the network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"MacAddress - The MAC address of the network interface.", - SerializedName = @"macAddress", - PossibleTypes = new [] { typeof(string) })] - public string MacAddress { get => _networkInterfacesBody.MacAddress ?? null; set => _networkInterfacesBody.MacAddress = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _networkInterfacesBody.Tag ?? null /* object */; set => _networkInterfacesBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMNetworkInterface_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMNetworkInterface_UpdateExpanded Clone() - { - var clone = new SetAzStackHCIVMNetworkInterface_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._networkInterfacesBody = this._networkInterfacesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _networkInterfacesBody, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMNetworkInterface_UpdateExpanded() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMStorageContainer_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMStorageContainer_UpdateExpanded.cs deleted file mode 100644 index c803247c4022..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMStorageContainer_UpdateExpanded.cs +++ /dev/null @@ -1,621 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a storage container. Please note some properties can be set only during storage container creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMStorageContainer_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a storage container. Please note some properties can be set only during storage container creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - public partial class SetAzStackHCIVMStorageContainer_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The storage container resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers _storageContainersBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainers(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string ExtendedLocationName { get => _storageContainersBody.ExtendedLocationName ?? null; set => _storageContainersBody.ExtendedLocationName = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _storageContainersBody.ExtendedLocationType ?? null; set => _storageContainersBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _storageContainersBody.Location ?? null; set => _storageContainersBody.Location = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// Path of the storage container on the disk - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Path of the storage container on the disk")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Path of the storage container on the disk", - SerializedName = @"path", - PossibleTypes = new [] { typeof(string) })] - public string Path { get => _storageContainersBody.Path ?? null; set => _storageContainersBody.Path = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _storageContainersBody.Tag ?? null /* object */; set => _storageContainersBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMStorageContainer_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMStorageContainer_UpdateExpanded Clone() - { - var clone = new SetAzStackHCIVMStorageContainer_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._storageContainersBody = this._storageContainersBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _storageContainersBody, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMStorageContainer_UpdateExpanded() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualHardDisk_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualHardDisk_UpdateExpanded.cs deleted file mode 100644 index f71e596a1770..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualHardDisk_UpdateExpanded.cs +++ /dev/null @@ -1,700 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualHardDisk_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - public partial class SetAzStackHCIVMVirtualHardDisk_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The virtual hard disk resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks _virtualHardDisksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisks(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"blockSizeBytes", - PossibleTypes = new [] { typeof(int) })] - public int BlockSizeByte { get => _virtualHardDisksBody.BlockSizeByte ?? default(int); set => _virtualHardDisksBody.BlockSizeByte = value; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// Storage ContainerID of the storage container to be used for VHD - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Storage ContainerID of the storage container to be used for VHD")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Storage ContainerID of the storage container to be used for VHD", - SerializedName = @"containerId", - PossibleTypes = new [] { typeof(string) })] - public string ContainerId { get => _virtualHardDisksBody.ContainerId ?? null; set => _virtualHardDisksBody.ContainerId = value; } - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// The format of the actual VHD file [vhd, vhdx] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The format of the actual VHD file [vhd, vhdx]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The format of the actual VHD file [vhd, vhdx]", - SerializedName = @"diskFileFormat", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("vhdx", "vhd")] - public string DiskFileFormat { get => _virtualHardDisksBody.DiskFileFormat ?? null; set => _virtualHardDisksBody.DiskFileFormat = value; } - - /// Size of the disk in GB - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Size of the disk in GB")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Size of the disk in GB", - SerializedName = @"diskSizeGB", - PossibleTypes = new [] { typeof(long) })] - public long DiskSizeGb { get => _virtualHardDisksBody.DiskSizeGb ?? default(long); set => _virtualHardDisksBody.DiskSizeGb = value; } - - /// Boolean for enabling dynamic sizing on the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Boolean for enabling dynamic sizing on the virtual hard disk")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Boolean for enabling dynamic sizing on the virtual hard disk", - SerializedName = @"dynamic", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter Dynamic { get => _virtualHardDisksBody.Dynamic ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualHardDisksBody.Dynamic = value; } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string ExtendedLocationName { get => _virtualHardDisksBody.ExtendedLocationName ?? null; set => _virtualHardDisksBody.ExtendedLocationName = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _virtualHardDisksBody.ExtendedLocationType ?? null; set => _virtualHardDisksBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The hypervisor generation of the Virtual Machine [V1, V2] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The hypervisor generation of the Virtual Machine [V1, V2]")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The hypervisor generation of the Virtual Machine [V1, V2]", - SerializedName = @"hyperVGeneration", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - public string HyperVGeneration { get => _virtualHardDisksBody.HyperVGeneration ?? null; set => _virtualHardDisksBody.HyperVGeneration = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// The geo-location where the resource lives - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The geo-location where the resource lives", - SerializedName = @"location", - PossibleTypes = new [] { typeof(string) })] - public string Location { get => _virtualHardDisksBody.Location ?? null; set => _virtualHardDisksBody.Location = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"logicalSectorBytes", - PossibleTypes = new [] { typeof(int) })] - public int LogicalSectorByte { get => _virtualHardDisksBody.LogicalSectorByte ?? default(int); set => _virtualHardDisksBody.LogicalSectorByte = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"physicalSectorBytes", - PossibleTypes = new [] { typeof(int) })] - public int PhysicalSectorByte { get => _virtualHardDisksBody.PhysicalSectorByte ?? default(int); set => _virtualHardDisksBody.PhysicalSectorByte = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags. - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags.", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags Tag { get => _virtualHardDisksBody.Tag ?? null /* object */; set => _virtualHardDisksBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMVirtualHardDisk_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualHardDisk_UpdateExpanded Clone() - { - var clone = new SetAzStackHCIVMVirtualHardDisk_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._virtualHardDisksBody = this._virtualHardDisksBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksCreateOrUpdate(SubscriptionId, ResourceGroupName, Name, _virtualHardDisksBody, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMVirtualHardDisk_UpdateExpanded() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualMachineInstance_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualMachineInstance_UpdateExpanded.cs deleted file mode 100644 index dc053d4186cf..000000000000 --- a/azstackhci-powershell/generated/cmdlets/SetAzStackHciVMVirtualMachineInstance_UpdateExpanded.cs +++ /dev/null @@ -1,952 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// - /// The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine - /// instance creation. - /// - /// - /// [OpenAPI] CreateOrUpdate=>PUT:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Set, @"AzStackHCIVMVirtualMachineInstance_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to Create a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - public partial class SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The virtual machine instance resource definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance _virtualMachineInstanceBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstance(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// - /// Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage - /// of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic - /// memory enabled. This property can be in the range of 5 to 2000. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000.", - SerializedName = @"targetMemoryBuffer", - PossibleTypes = new [] { typeof(int) })] - public int DynamicMemoryConfigTargetMemoryBuffer { get => _virtualMachineInstanceBody.DynamicMemoryConfigTargetMemoryBuffer ?? default(int); set => _virtualMachineInstanceBody.DynamicMemoryConfigTargetMemoryBuffer = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"maximumMemoryMB", - PossibleTypes = new [] { typeof(long) })] - public long DynamicMemoryMaximumMemoryInMb { get => _virtualMachineInstanceBody.DynamicMemoryConfigMaximumMemoryMb ?? default(long); set => _virtualMachineInstanceBody.DynamicMemoryConfigMaximumMemoryMb = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"minimumMemoryMB", - PossibleTypes = new [] { typeof(long) })] - public long DynamicMemoryMinimumMemoryInMb { get => _virtualMachineInstanceBody.DynamicMemoryConfigMinimumMemoryMb ?? default(long); set => _virtualMachineInstanceBody.DynamicMemoryConfigMinimumMemoryMb = value; } - - /// The name of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The name of the extended location.", - SerializedName = @"name", - PossibleTypes = new [] { typeof(string) })] - public string ExtendedLocationName { get => _virtualMachineInstanceBody.ExtendedLocationName ?? null; set => _virtualMachineInstanceBody.ExtendedLocationName = value; } - - /// The type of the extended location. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of the extended location.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The type of the extended location.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - public string ExtendedLocationType { get => _virtualMachineInstanceBody.ExtendedLocationType ?? null; set => _virtualMachineInstanceBody.ExtendedLocationType = value; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// RAM in MB for the virtual machine instance - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "RAM in MB for the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"RAM in MB for the virtual machine instance", - SerializedName = @"memoryMB", - PossibleTypes = new [] { typeof(long) })] - public long HardwareProfileMemoryMb { get => _virtualMachineInstanceBody.HardwareProfileMemoryMb ?? default(long); set => _virtualMachineInstanceBody.HardwareProfileMemoryMb = value; } - - /// number of processors for the virtual machine instance - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "number of processors for the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"number of processors for the virtual machine instance", - SerializedName = @"processors", - PossibleTypes = new [] { typeof(int) })] - public int HardwareProfileProcessor { get => _virtualMachineInstanceBody.HardwareProfileProcessor ?? default(int); set => _virtualMachineInstanceBody.HardwareProfileProcessor = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"vmSize", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] - public string HardwareProfileVMSize { get => _virtualMachineInstanceBody.HardwareProfileVMSize ?? null; set => _virtualMachineInstanceBody.HardwareProfileVMSize = value; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The HTTP proxy server endpoint to use. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The HTTP proxy server endpoint to use.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The HTTP proxy server endpoint to use.", - SerializedName = @"httpProxy", - PossibleTypes = new [] { typeof(string) })] - public string HttpProxyConfigHttpProxy { get => _virtualMachineInstanceBody.HttpProxyConfigHttpProxy ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigHttpProxy = value; } - - /// The HTTPS proxy server endpoint to use. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The HTTPS proxy server endpoint to use.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The HTTPS proxy server endpoint to use.", - SerializedName = @"httpsProxy", - PossibleTypes = new [] { typeof(string) })] - public string HttpProxyConfigHttpsProxy { get => _virtualMachineInstanceBody.HttpProxyConfigHttpsProxy ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigHttpsProxy = value; } - - /// The endpoints that should not go through proxy. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The endpoints that should not go through proxy.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The endpoints that should not go through proxy.", - SerializedName = @"noProxy", - PossibleTypes = new [] { typeof(string) })] - public string[] HttpProxyConfigNoProxy { get => _virtualMachineInstanceBody.HttpProxyConfigNoProxy?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.HttpProxyConfigNoProxy = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// Alternative CA cert to use for connecting to proxy servers. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Alternative CA cert to use for connecting to proxy servers.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Alternative CA cert to use for connecting to proxy servers.", - SerializedName = @"trustedCa", - PossibleTypes = new [] { typeof(string) })] - public string HttpProxyConfigTrustedCa { get => _virtualMachineInstanceBody.HttpProxyConfigTrustedCa ?? null; set => _virtualMachineInstanceBody.HttpProxyConfigTrustedCa = value; } - - /// The identity type. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The identity type.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The identity type.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - public string IdentityType { get => _virtualMachineInstanceBody.IdentityType ?? null; set => _virtualMachineInstanceBody.IdentityType = value; } - - /// Resource ID of the image - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource ID of the image")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource ID of the image", - SerializedName = @"id", - PossibleTypes = new [] { typeof(string) })] - public string ImageReferenceId { get => _virtualMachineInstanceBody.ImageReferenceId ?? null; set => _virtualMachineInstanceBody.ImageReferenceId = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// DisablePasswordAuthentication - whether password authentication should be disabled - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "DisablePasswordAuthentication - whether password authentication should be disabled")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"DisablePasswordAuthentication - whether password authentication should be disabled", - SerializedName = @"disablePasswordAuthentication", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter LinuxConfigurationDisablePasswordAuthentication { get => _virtualMachineInstanceBody.LinuxConfigurationDisablePasswordAuthentication ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationDisablePasswordAuthentication = value; } - - /// - /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation - /// process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", - SerializedName = @"provisionVMAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent = value; } - - /// - /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", - SerializedName = @"provisionVMConfigAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent = value; } - - /// The list of SSH public keys used to authenticate with linux based VMs. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of SSH public keys used to authenticate with linux based VMs.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The list of SSH public keys used to authenticate with linux based VMs.", - SerializedName = @"publicKeys", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[] LinuxConfigurationSshPublicKey { get => _virtualMachineInstanceBody.LinuxConfigurationSshPublicKey?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.LinuxConfigurationSshPublicKey = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - /// - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance", - SerializedName = @"networkInterfaces", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem[] NetworkProfileNetworkInterface { get => _virtualMachineInstanceBody.NetworkProfileNetworkInterface?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.NetworkProfileNetworkInterface = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// Resource ID of the OS disk - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource ID of the OS disk")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource ID of the OS disk", - SerializedName = @"id", - PossibleTypes = new [] { typeof(string) })] - public string OSDiskId { get => _virtualMachineInstanceBody.OSDiskId ?? null; set => _virtualMachineInstanceBody.OSDiskId = value; } - - /// - /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or - /// a specialized VHD. Possible values are: **Windows,** **Linux.** - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**", - SerializedName = @"osType", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - public string OSDiskOstype { get => _virtualMachineInstanceBody.OSDiskOstype ?? null; set => _virtualMachineInstanceBody.OSDiskOstype = value; } - - /// AdminPassword - admin password - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "AdminPassword - admin password")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"AdminPassword - admin password", - SerializedName = @"adminPassword", - PossibleTypes = new [] { typeof(string) })] - public string OSProfileAdminPassword { get => _virtualMachineInstanceBody.OSProfileAdminPassword ?? null; set => _virtualMachineInstanceBody.OSProfileAdminPassword = value; } - - /// AdminUsername - admin username - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "AdminUsername - admin username")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"AdminUsername - admin username", - SerializedName = @"adminUsername", - PossibleTypes = new [] { typeof(string) })] - public string OSProfileAdminUsername { get => _virtualMachineInstanceBody.OSProfileAdminUsername ?? null; set => _virtualMachineInstanceBody.OSProfileAdminUsername = value; } - - /// ComputerName - name of the compute - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "ComputerName - name of the compute")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"ComputerName - name of the compute", - SerializedName = @"computerName", - PossibleTypes = new [] { typeof(string) })] - public string OSProfileComputerName { get => _virtualMachineInstanceBody.OSProfileComputerName ?? null; set => _virtualMachineInstanceBody.OSProfileComputerName = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Unique identifier defined by ARC to identify the guest of the VM. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Unique identifier defined by ARC to identify the guest of the VM.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Unique identifier defined by ARC to identify the guest of the VM.", - SerializedName = @"resourceUid", - PossibleTypes = new [] { typeof(string) })] - public string ResourceUid { get => _virtualMachineInstanceBody.ResourceUid ?? null; set => _virtualMachineInstanceBody.ResourceUid = value; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"enableTPM", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter SecurityProfileEnableTpm { get => _virtualMachineInstanceBody.SecurityProfileEnableTpm ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.SecurityProfileEnableTpm = value; } - - /// - /// Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType - /// to function. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function.", - SerializedName = @"securityType", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("TrustedLaunch", "ConfidentialVM")] - public string SecurityProfileSecurityType { get => _virtualMachineInstanceBody.SecurityProfileSecurityType ?? null; set => _virtualMachineInstanceBody.SecurityProfileSecurityType = value; } - - /// adds data disks to the virtual machine instance - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "adds data disks to the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"adds data disks to the virtual machine instance", - SerializedName = @"dataDisks", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem[] StorageProfileDataDisk { get => _virtualMachineInstanceBody.StorageProfileDataDisk?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.StorageProfileDataDisk = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// Id of the storage container that hosts the VM configuration file - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Id of the storage container that hosts the VM configuration file")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Id of the storage container that hosts the VM configuration file", - SerializedName = @"vmConfigStoragePathId", - PossibleTypes = new [] { typeof(string) })] - public string StorageProfileVMConfigStoragePathId { get => _virtualMachineInstanceBody.StorageProfileVMConfigStoragePathId ?? null; set => _virtualMachineInstanceBody.StorageProfileVMConfigStoragePathId = value; } - - /// - /// Specifies whether secure boot should be enabled on the virtual machine instance. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies whether secure boot should be enabled on the virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Specifies whether secure boot should be enabled on the virtual machine instance.", - SerializedName = @"secureBootEnabled", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter UefiSettingSecureBootEnabled { get => _virtualMachineInstanceBody.UefiSettingSecureBootEnabled ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.UefiSettingSecureBootEnabled = value; } - - /// Whether to EnableAutomaticUpdates on the machine - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Whether to EnableAutomaticUpdates on the machine")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Whether to EnableAutomaticUpdates on the machine", - SerializedName = @"enableAutomaticUpdates", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter WindowConfigurationEnableAutomaticUpdate { get => _virtualMachineInstanceBody.WindowConfigurationEnableAutomaticUpdate ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationEnableAutomaticUpdate = value; } - - /// - /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation - /// process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", - SerializedName = @"provisionVMAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent = value; } - - /// - /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", - SerializedName = @"provisionVMConfigAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent = value; } - - /// TimeZone for the virtual machine instance - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "TimeZone for the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"TimeZone for the virtual machine instance", - SerializedName = @"timeZone", - PossibleTypes = new [] { typeof(string) })] - public string WindowConfigurationTimeZone { get => _virtualMachineInstanceBody.WindowConfigurationTimeZone ?? null; set => _virtualMachineInstanceBody.WindowConfigurationTimeZone = value; } - - /// The list of SSH public keys used to authenticate with linux based VMs. - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The list of SSH public keys used to authenticate with linux based VMs.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The list of SSH public keys used to authenticate with linux based VMs.", - SerializedName = @"publicKeys", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[] WindowsConfigurationSshPublicKey { get => _virtualMachineInstanceBody.WindowsConfigurationSshPublicKey?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.WindowsConfigurationSshPublicKey = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded Clone() - { - var clone = new SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._virtualMachineInstanceBody = this._virtualMachineInstanceBody; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesCreateOrUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesCreateOrUpdate(ResourceUri, _virtualMachineInstanceBody, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public SetAzStackHCIVMVirtualMachineInstance_UpdateExpanded() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/StartAzStackHciVMVirtualMachine_Start.cs b/azstackhci-powershell/generated/cmdlets/StartAzStackHciVMVirtualMachine_Start.cs deleted file mode 100644 index fb7b9aa73d8e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/StartAzStackHciVMVirtualMachine_Start.cs +++ /dev/null @@ -1,524 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to start a virtual machine instance. - /// - /// [OpenAPI] Start=>POST:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Start, @"AzStackHCIVMVirtualMachine_Start", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to start a virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start", ApiVersion = "2024-01-01")] - public partial class StartAzStackHCIVMVirtualMachine_Start : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of StartAzStackHCIVMVirtualMachine_Start - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.StartAzStackHCIVMVirtualMachine_Start Clone() - { - var clone = new StartAzStackHCIVMVirtualMachine_Start(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesStart' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesStart(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public StartAzStackHCIVMVirtualMachine_Start() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/StopAzStackHciVMVirtualMachine_Stop.cs b/azstackhci-powershell/generated/cmdlets/StopAzStackHciVMVirtualMachine_Stop.cs deleted file mode 100644 index 664e022b89a4..000000000000 --- a/azstackhci-powershell/generated/cmdlets/StopAzStackHciVMVirtualMachine_Stop.cs +++ /dev/null @@ -1,524 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to stop a virtual machine instance. - /// - /// [OpenAPI] Stop=>POST:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Stop, @"AzStackHCIVMVirtualMachine_Stop", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to stop a virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop", ApiVersion = "2024-01-01")] - public partial class StopAzStackHCIVMVirtualMachine_Stop : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of StopAzStackHCIVMVirtualMachine_Stop - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.StopAzStackHCIVMVirtualMachine_Stop Clone() - { - var clone = new StopAzStackHCIVMVirtualMachine_Stop(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesStop' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesStop(ResourceUri, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public StopAzStackHCIVMVirtualMachine_Stop() - { - - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs deleted file mode 100644 index 170c72ea8641..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a gallery image. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMGalleryImage_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath Clone() - { - var clone = new UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMGalleryImage_UpdateViaJsonFilePath() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString.cs deleted file mode 100644 index 24cef20d7270..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString.cs +++ /dev/null @@ -1,573 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a gallery image. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMGalleryImage_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString Clone() - { - var clone = new UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMGalleryImage_UpdateViaJsonString() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs deleted file mode 100644 index c4e1aef26e4c..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,574 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a logical network. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a logical network.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath Clone() - { - var clone = new UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs deleted file mode 100644 index 0af554e6545f..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString.cs +++ /dev/null @@ -1,572 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a logical network. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMLogicalNetwork_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a logical network.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString Clone() - { - var clone = new UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMLogicalNetwork_UpdateViaJsonString() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs deleted file mode 100644 index 4466fa89ac50..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,578 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a marketplace gallery image. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a marketplace gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath Clone() - { - var clone = new UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet - /// class. - /// - public UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs deleted file mode 100644 index 2ca3aff2b9da..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString.cs +++ /dev/null @@ -1,576 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a marketplace gallery image. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a marketplace gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString Clone() - { - var clone = new UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet - /// class. - /// - public UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs deleted file mode 100644 index 6a3afe541d25..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,576 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a network interface. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMNetworkInterface_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath Clone() - { - var clone = new UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonFilePath() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs deleted file mode 100644 index 50baf3cbfa0b..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString.cs +++ /dev/null @@ -1,572 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a network interface. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMNetworkInterface_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString Clone() - { - var clone = new UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMNetworkInterface_UpdateViaJsonString() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath.cs deleted file mode 100644 index cc44a8ec33bd..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,574 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a storage container. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMStoragePath_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a storage container.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath Clone() - { - var clone = new UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMStoragePath_UpdateViaJsonFilePath() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonString.cs deleted file mode 100644 index eedd4b664a71..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMStoragePath_UpdateViaJsonString.cs +++ /dev/null @@ -1,572 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a storage container. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMStoragePath_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a storage container.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMStoragePath_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMStoragePath_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMStoragePath_UpdateViaJsonString Clone() - { - var clone = new UpdateAzStackHCIVMStoragePath_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMStoragePath_UpdateViaJsonString() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs deleted file mode 100644 index b3745ac083e7..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,574 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a virtual hard disk. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual hard disk.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath Clone() - { - var clone = new UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs deleted file mode 100644 index 8fd882effad1..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString.cs +++ /dev/null @@ -1,572 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a virtual hard disk. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualHardDisk_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual hard disk.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString Clone() - { - var clone = new UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksUpdateViaJsonString(SubscriptionId, ResourceGroupName, Name, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMVirtualHardDisk_UpdateViaJsonString() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath.cs deleted file mode 100644 index 00570b356d8e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath.cs +++ /dev/null @@ -1,541 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a virtual machine instance. - /// - /// [OpenAPI] Update=>PATCH:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualMachine_UpdateViaJsonFilePath", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - public global::System.String _jsonString; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonFilePath; - - /// Path of Json file supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Path of Json file supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Path of Json file supplied to the Update operation", - SerializedName = @"JsonFilePath", - PossibleTypes = new [] { typeof(string) })] - public string JsonFilePath { get => this._jsonFilePath; set { if (!System.IO.File.Exists(value)) { throw new Exception("Cannot find File " + value); } this._jsonString = System.IO.File.ReadAllText(value); this._jsonFilePath = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath Clone() - { - var clone = new UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - clone.JsonFilePath = this.JsonFilePath; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonFilePath() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString.cs deleted file mode 100644 index 14fba6a9c16e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString.cs +++ /dev/null @@ -1,539 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a virtual machine instance. - /// - /// [OpenAPI] Update=>PATCH:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualMachine_UpdateViaJsonString", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.NotSuggestDefaultParameterSet] - public partial class UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// Backing field for property. - private string _jsonString; - - /// Json string supplied to the Update operation - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string supplied to the Update operation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Json string supplied to the Update operation", - SerializedName = @"JsonString", - PossibleTypes = new [] { typeof(string) })] - public string JsonString { get => this._jsonString; set => this._jsonString = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString Clone() - { - var clone = new UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone.ResourceUri = this.ResourceUri; - clone.JsonString = this.JsonString; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesUpdateViaJsonString(ResourceUri, _jsonString, onOk, onDefault, this, Pipeline); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMVirtualMachine_UpdateViaJsonString() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateExpanded.cs deleted file mode 100644 index 5158006a7c34..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateExpanded.cs +++ /dev/null @@ -1,574 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a gallery image. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMGalleryImage_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMGalleryImage_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The gallery images resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest _galleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesUpdateRequest(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the gallery image", - SerializedName = @"galleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("GalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags Tag { get => _galleryImagesBody.Tag ?? null /* object */; set => _galleryImagesBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMGalleryImage_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMGalleryImage_UpdateExpanded Clone() - { - var clone = new UpdateAzStackHCIVMGalleryImage_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._galleryImagesBody = this._galleryImagesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.GalleryImagesUpdate(SubscriptionId, ResourceGroupName, Name, _galleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMGalleryImage_UpdateExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateViaIdentityExpanded.cs deleted file mode 100644 index 6c797553d979..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMGalleryImage_UpdateViaIdentityExpanded.cs +++ /dev/null @@ -1,553 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a gallery image. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMGalleryImage_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/galleryImages/{galleryImageName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The gallery images resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequest _galleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.GalleryImagesUpdateRequest(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags Tag { get => _galleryImagesBody.Tag ?? null /* object */; set => _galleryImagesBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded Clone() - { - var clone = new UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._galleryImagesBody = this._galleryImagesBody; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'GalleryImagesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.GalleryImagesUpdateViaIdentity(InputObject.Id, _galleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.GalleryImageName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.GalleryImageName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.GalleryImagesUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.GalleryImageName ?? null, _galleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMGalleryImage_UpdateViaIdentityExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateExpanded.cs deleted file mode 100644 index a25fa2ad0717..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateExpanded.cs +++ /dev/null @@ -1,573 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a logical network. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMLogicalNetwork_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a logical network.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The logical network resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest _logicalNetworksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksUpdateRequest(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the logical network - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the logical network")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the logical network", - SerializedName = @"logicalNetworkName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("LogicalNetworkName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequestTags Tag { get => _logicalNetworksBody.Tag ?? null /* object */; set => _logicalNetworksBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded Clone() - { - var clone = new UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._logicalNetworksBody = this._logicalNetworksBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.LogicalNetworksUpdate(SubscriptionId, ResourceGroupName, Name, _logicalNetworksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMLogicalNetwork_UpdateExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateViaIdentityExpanded.cs deleted file mode 100644 index a6fee46fe9f7..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMLogicalNetwork_UpdateViaIdentityExpanded.cs +++ /dev/null @@ -1,552 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a logical network. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a logical network.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The logical network resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequest _logicalNetworksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.LogicalNetworksUpdateRequest(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworksUpdateRequestTags Tag { get => _logicalNetworksBody.Tag ?? null /* object */; set => _logicalNetworksBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded Clone() - { - var clone = new UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._logicalNetworksBody = this._logicalNetworksBody; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'LogicalNetworksUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.LogicalNetworksUpdateViaIdentity(InputObject.Id, _logicalNetworksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.LogicalNetworkName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.LogicalNetworkName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.LogicalNetworksUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.LogicalNetworkName ?? null, _logicalNetworksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMLogicalNetwork_UpdateViaIdentityExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs deleted file mode 100644 index a881f05d8080..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateExpanded.cs +++ /dev/null @@ -1,576 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a marketplace gallery image. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMMarketplaceGalleryImage_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a marketplace gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The marketplace gallery image resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest _marketplaceGalleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesUpdateRequest(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the marketplace gallery image - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the marketplace gallery image")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the marketplace gallery image", - SerializedName = @"marketplaceGalleryImageName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("MarketplaceGalleryImageName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags Tag { get => _marketplaceGalleryImagesBody.Tag ?? null /* object */; set => _marketplaceGalleryImagesBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded Clone() - { - var clone = new UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._marketplaceGalleryImagesBody = this._marketplaceGalleryImagesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.MarketplaceGalleryImagesUpdate(SubscriptionId, ResourceGroupName, Name, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateViaIdentityExpanded.cs deleted file mode 100644 index a553780780c0..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMMarketplaceGalleryImage_UpdateViaIdentityExpanded.cs +++ /dev/null @@ -1,554 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a marketplace gallery image. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a marketplace gallery image.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/{marketplaceGalleryImageName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The marketplace gallery image resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequest _marketplaceGalleryImagesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.MarketplaceGalleryImagesUpdateRequest(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags Tag { get => _marketplaceGalleryImagesBody.Tag ?? null /* object */; set => _marketplaceGalleryImagesBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded Clone() - { - var clone = new UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._marketplaceGalleryImagesBody = this._marketplaceGalleryImagesBody; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'MarketplaceGalleryImagesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.MarketplaceGalleryImagesUpdateViaIdentity(InputObject.Id, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.MarketplaceGalleryImageName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.MarketplaceGalleryImageName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.MarketplaceGalleryImagesUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.MarketplaceGalleryImageName ?? null, _marketplaceGalleryImagesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet - /// class. - /// - public UpdateAzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateExpanded.cs deleted file mode 100644 index be3ff6ecc71d..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateExpanded.cs +++ /dev/null @@ -1,573 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a network interface. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMNetworkInterface_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMNetworkInterface_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The network interface resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest _networkInterfacesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesUpdateRequest(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the network interface - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the network interface")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the network interface", - SerializedName = @"networkInterfaceName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("NetworkInterfaceName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequestTags Tag { get => _networkInterfacesBody.Tag ?? null /* object */; set => _networkInterfacesBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMNetworkInterface_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMNetworkInterface_UpdateExpanded Clone() - { - var clone = new UpdateAzStackHCIVMNetworkInterface_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._networkInterfacesBody = this._networkInterfacesBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.NetworkInterfacesUpdate(SubscriptionId, ResourceGroupName, Name, _networkInterfacesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMNetworkInterface_UpdateExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateViaIdentityExpanded.cs deleted file mode 100644 index 373953f268f5..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMNetworkInterface_UpdateViaIdentityExpanded.cs +++ /dev/null @@ -1,552 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a network interface. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a network interface.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/networkInterfaces/{networkInterfaceName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// The network interface resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequest _networkInterfacesBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.NetworkInterfacesUpdateRequest(); - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfacesUpdateRequestTags Tag { get => _networkInterfacesBody.Tag ?? null /* object */; set => _networkInterfacesBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded Clone() - { - var clone = new UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._networkInterfacesBody = this._networkInterfacesBody; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'NetworkInterfacesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.NetworkInterfacesUpdateViaIdentity(InputObject.Id, _networkInterfacesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.NetworkInterfaceName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.NetworkInterfaceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.NetworkInterfacesUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.NetworkInterfaceName ?? null, _networkInterfacesBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMNetworkInterface_UpdateViaIdentityExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateExpanded.cs deleted file mode 100644 index 24faab9640ba..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateExpanded.cs +++ /dev/null @@ -1,573 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a storage container. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMStoragePath_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a storage container.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMStoragePath_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The storage container resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest _storageContainersBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersUpdateRequest(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the storage container - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the storage container")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the storage container", - SerializedName = @"storageContainerName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("StorageContainerName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags Tag { get => _storageContainersBody.Tag ?? null /* object */; set => _storageContainersBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMStoragePath_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMStoragePath_UpdateExpanded Clone() - { - var clone = new UpdateAzStackHCIVMStoragePath_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._storageContainersBody = this._storageContainersBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.StorageContainersUpdate(SubscriptionId, ResourceGroupName, Name, _storageContainersBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMStoragePath_UpdateExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateViaIdentityExpanded.cs deleted file mode 100644 index 653beaf3e30e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMStoragePath_UpdateViaIdentityExpanded.cs +++ /dev/null @@ -1,550 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a storage container. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMStoragePath_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a storage container.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/storageContainers/{storageContainerName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The storage container resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequest _storageContainersBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.StorageContainersUpdateRequest(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags Tag { get => _storageContainersBody.Tag ?? null /* object */; set => _storageContainersBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded Clone() - { - var clone = new UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._storageContainersBody = this._storageContainersBody; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'StorageContainersUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.StorageContainersUpdateViaIdentity(InputObject.Id, _storageContainersBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.StorageContainerName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.StorageContainerName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.StorageContainersUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.StorageContainerName ?? null, _storageContainersBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMStoragePath_UpdateViaIdentityExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateExpanded.cs deleted file mode 100644 index 0cc06490b717..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateExpanded.cs +++ /dev/null @@ -1,573 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a virtual hard disk. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualHardDisk_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual hard disk.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The virtual hard disk resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest _virtualHardDisksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksUpdateRequest(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// Backing field for property. - private string _name; - - /// Name of the virtual hard disk - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Name of the virtual hard disk")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"Name of the virtual hard disk", - SerializedName = @"virtualHardDiskName", - PossibleTypes = new [] { typeof(string) })] - [global::System.Management.Automation.Alias("VirtualHardDiskName")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string Name { get => this._name; set => this._name = value; } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceGroupName; - - /// The name of the resource group. The name is case insensitive. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The name of the resource group. The name is case insensitive.", - SerializedName = @"resourceGroupName", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } - - /// Backing field for property. - private string _subscriptionId; - - /// The ID of the target subscription. - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The ID of the target subscription.", - SerializedName = @"subscriptionId", - PossibleTypes = new [] { typeof(string) })] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo( - Name = @"", - Description =@"", - Script = @"(Get-AzContext).Subscription.Id", - SetCondition = @"")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequestTags Tag { get => _virtualHardDisksBody.Tag ?? null /* object */; set => _virtualHardDisksBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded Clone() - { - var clone = new UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._virtualHardDisksBody = this._virtualHardDisksBody; - clone.SubscriptionId = this.SubscriptionId; - clone.ResourceGroupName = this.ResourceGroupName; - clone.Name = this.Name; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualHardDisksUpdate(SubscriptionId, ResourceGroupName, Name, _virtualHardDisksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMVirtualHardDisk_UpdateExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateViaIdentityExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateViaIdentityExpanded.cs deleted file mode 100644 index 4c7a1428acd2..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualHardDisk_UpdateViaIdentityExpanded.cs +++ /dev/null @@ -1,552 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a virtual hard disk. - /// - /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}" - /// - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual hard disk.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualHardDisks/{virtualHardDiskName}", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The virtual hard disk resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequest _virtualHardDisksBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualHardDisksUpdateRequest(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// Backing field for property. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity _inputObject; - - /// Identity Parameter - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Resource tags - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ExportAs(typeof(global::System.Collections.Hashtable))] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Resource tags", - SerializedName = @"tags", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequestTags) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisksUpdateRequestTags Tag { get => _virtualHardDisksBody.Tag ?? null /* object */; set => _virtualHardDisksBody.Tag = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// - /// a duplicate instance of UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded Clone() - { - var clone = new UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._virtualHardDisksBody = this._virtualHardDisksBody; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualHardDisksUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - if (InputObject?.Id != null) - { - await this.Client.VirtualHardDisksUpdateViaIdentity(InputObject.Id, _virtualHardDisksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - else - { - // try to call with PATH parameters from Input Object - if (null == InputObject.SubscriptionId) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.ResourceGroupName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - if (null == InputObject.VirtualHardDiskName) - { - ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.VirtualHardDiskName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); - } - await this.Client.VirtualHardDisksUpdate(InputObject.SubscriptionId ?? null, InputObject.ResourceGroupName ?? null, InputObject.VirtualHardDiskName ?? null, _virtualHardDisksBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - } - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMVirtualHardDisk_UpdateViaIdentityExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualMachine_UpdateExpanded.cs b/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualMachine_UpdateExpanded.cs deleted file mode 100644 index 5d86839eba4e..000000000000 --- a/azstackhci-powershell/generated/cmdlets/UpdateAzStackHciVMVirtualMachine_UpdateExpanded.cs +++ /dev/null @@ -1,665 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets -{ - using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Extensions; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell; - using Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Cmdlets; - using System; - - /// The operation to update a virtual machine instance. - /// - /// [OpenAPI] Update=>PATCH:"/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default" - /// - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.InternalExport] - [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzStackHCIVMVirtualMachine_UpdateExpanded", SupportsShouldProcess = true)] - [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance))] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Description(@"The operation to update a virtual machine instance.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Generated] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.HttpPath(Path = "/{resourceUri}/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default", ApiVersion = "2024-01-01")] - public partial class UpdateAzStackHCIVMVirtualMachine_UpdateExpanded : global::System.Management.Automation.PSCmdlet, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener, - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IContext - { - /// A unique id generatd for the this cmdlet when it is instantiated. - private string __correlationId = System.Guid.NewGuid().ToString(); - - /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) - private global::System.Management.Automation.InvocationInfo __invocationInfo; - - /// A unique id generatd for the this cmdlet when ProcessRecord() is called. - private string __processRecordId; - - /// - /// The for this operation. - /// - private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); - - /// A dictionary to carry over additional data for pipeline. - private global::System.Collections.Generic.Dictionary _extensibleParameters = new System.Collections.Generic.Dictionary(); - - /// A buffer to record first returned object in response. - private object _firstResponse = null; - - /// - /// A flag to tell whether it is the first returned object in a call. Zero means no response yet. One means 1 returned object. - /// Two means multiple returned objects in response. - /// - private int _responseSize = 0; - - /// The virtual machine instance resource patch definition. - private Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstanceUpdateRequest _virtualMachineInstanceBody = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.VirtualMachineInstanceUpdateRequest(); - - /// when specified, runs this cmdlet as a PowerShell job - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter AsJob { get; set; } - - /// Wait for .NET debugger to attach - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter Break { get; set; } - - /// Accessor for cancellationTokenSource. - public global::System.Threading.CancellationTokenSource CancellationTokenSource { get => _cancellationTokenSource ; set { _cancellationTokenSource = value; } } - - /// The reference to the client API class. - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.StackHcivm Client => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.ClientAPI; - - /// - /// The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet - /// against a different subscription - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.")] - [global::System.Management.Automation.ValidateNotNull] - [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Azure)] - public global::System.Management.Automation.PSObject DefaultProfile { get; set; } - - /// Accessor for extensibleParameters. - public global::System.Collections.Generic.IDictionary ExtensibleParameters { get => _extensibleParameters ; } - - /// RAM in MB for the virtual machine instance - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "RAM in MB for the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"RAM in MB for the virtual machine instance", - SerializedName = @"memoryMB", - PossibleTypes = new [] { typeof(long) })] - public long HardwareProfileMemoryMb { get => _virtualMachineInstanceBody.HardwareProfileMemoryMb ?? default(long); set => _virtualMachineInstanceBody.HardwareProfileMemoryMb = value; } - - /// number of processors for the virtual machine instance - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "number of processors for the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"number of processors for the virtual machine instance", - SerializedName = @"processors", - PossibleTypes = new [] { typeof(int) })] - public int HardwareProfileProcessor { get => _virtualMachineInstanceBody.HardwareProfileProcessor ?? default(int); set => _virtualMachineInstanceBody.HardwareProfileProcessor = value; } - - /// . - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = ".")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @".", - SerializedName = @"vmSize", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] - public string HardwareProfileVMSize { get => _virtualMachineInstanceBody.HardwareProfileVMSize ?? null; set => _virtualMachineInstanceBody.HardwareProfileVMSize = value; } - - /// SendAsync Pipeline Steps to be appended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } - - /// SendAsync Pipeline Steps to be prepended to the front of the pipeline - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } - - /// The identity type. - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The identity type.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"The identity type.", - SerializedName = @"type", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - public string IdentityType { get => _virtualMachineInstanceBody.IdentityType ?? null; set => _virtualMachineInstanceBody.IdentityType = value; } - - /// Accessor for our copy of the InvocationInfo. - public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } - - /// - /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation - /// process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", - SerializedName = @"provisionVMAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMAgent = value; } - - /// - /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", - SerializedName = @"provisionVMConfigAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter LinuxConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.LinuxConfigurationProvisionVMConfigAgent = value; } - - /// - /// cancellation delegate. Stops the cmdlet when called. - /// - global::System.Action Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; - - /// cancellation token. - global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Token => _cancellationTokenSource.Token; - - /// - /// NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - /// - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance", - SerializedName = @"networkInterfaces", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfileUpdateNetworkInterfacesItem) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfileUpdateNetworkInterfacesItem[] NetworkProfileNetworkInterface { get => _virtualMachineInstanceBody.NetworkProfileNetworkInterface?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.NetworkProfileNetworkInterface = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// - /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue - /// asynchronously. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter NoWait { get; set; } - - /// ComputerName - name of the computer - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "ComputerName - name of the computer")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"ComputerName - name of the computer", - SerializedName = @"computerName", - PossibleTypes = new [] { typeof(string) })] - public string OSProfileComputerName { get => _virtualMachineInstanceBody.OSProfileComputerName ?? null; set => _virtualMachineInstanceBody.OSProfileComputerName = value; } - - /// - /// The instance of the that the remote call will use. - /// - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.HttpPipeline Pipeline { get; set; } - - /// The URI for the proxy server to use - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Uri Proxy { get; set; } - - /// Credentials for a proxy server to use for the remote call - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] - [global::System.Management.Automation.ValidateNotNull] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } - - /// Use the default credentials for the proxy - [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Runtime)] - public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } - - /// Backing field for property. - private string _resourceUri; - - /// - /// The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - /// - [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = true, - ReadOnly = false, - Description = @"The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended.", - SerializedName = @"resourceUri", - PossibleTypes = new [] { typeof(string) })] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Path)] - public string ResourceUri { get => this._resourceUri; set => this._resourceUri = value; } - - /// adds data disks to the virtual machine instance for the update call - [global::System.Management.Automation.AllowEmptyCollection] - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "adds data disks to the virtual machine instance for the update call")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"adds data disks to the virtual machine instance for the update call", - SerializedName = @"dataDisks", - PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageProfileUpdateDataDisksItem) })] - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageProfileUpdateDataDisksItem[] StorageProfileDataDisk { get => _virtualMachineInstanceBody.StorageProfileDataDisk?.ToArray() ?? null /* fixedArrayOf */; set => _virtualMachineInstanceBody.StorageProfileDataDisk = (value != null ? new System.Collections.Generic.List(value) : null); } - - /// - /// Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation - /// process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process.", - SerializedName = @"provisionVMAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMAgent = value; } - - /// - /// Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - /// - [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.")] - [global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category(global::Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.ParameterCategory.Body)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info( - Required = false, - ReadOnly = false, - Description = @"Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process.", - SerializedName = @"provisionVMConfigAgent", - PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] - public global::System.Management.Automation.SwitchParameter WindowConfigurationProvisionVMConfigAgent { get => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent ?? default(global::System.Management.Automation.SwitchParameter); set => _virtualMachineInstanceBody.WindowConfigurationProvisionVMConfigAgent = value; } - - /// - /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what - /// happens on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// /// Determines if the rest of the onDefault method should be processed, or if the method should - /// return immediately (set to true to skip further processing ) - - partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens - /// on that response. Implement this method in a partial class to enable this behavior - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// /// Determines if the rest of the onOk method should be processed, or if the method should return - /// immediately (set to true to skip further processing ) - - partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); - - /// - /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) - /// - protected override void BeginProcessing() - { - var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.GetTelemetryId.Invoke(); - if (telemetryId != "" && telemetryId != "internal") - { - __correlationId = telemetryId; - } - Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); - if (Break) - { - Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.AttachDebugger.Break(); - } - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - - /// Creates a duplicate instance of this cmdlet (via JSON serialization). - /// a duplicate instance of UpdateAzStackHCIVMVirtualMachine_UpdateExpanded - public Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Cmdlets.UpdateAzStackHCIVMVirtualMachine_UpdateExpanded Clone() - { - var clone = new UpdateAzStackHCIVMVirtualMachine_UpdateExpanded(); - clone.__correlationId = this.__correlationId; - clone.__processRecordId = this.__processRecordId; - clone.DefaultProfile = this.DefaultProfile; - clone.InvocationInformation = this.InvocationInformation; - clone.Proxy = this.Proxy; - clone.Pipeline = this.Pipeline; - clone.AsJob = this.AsJob; - clone.Break = this.Break; - clone.ProxyCredential = this.ProxyCredential; - clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; - clone.HttpPipelinePrepend = this.HttpPipelinePrepend; - clone.HttpPipelineAppend = this.HttpPipelineAppend; - clone._virtualMachineInstanceBody = this._virtualMachineInstanceBody; - clone.ResourceUri = this.ResourceUri; - return clone; - } - - /// Performs clean-up after the command execution - protected override void EndProcessing() - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse); - } - } - - /// Handles/Dispatches events during the call to the REST service. - /// The message id - /// The message cancellation token. When this call is cancelled, this should be true - /// Detailed message data for the message event. - /// - /// A that will be complete when handling of the message is completed. - /// - async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) - { - using( NoSynchronizationContext ) - { - if (token.IsCancellationRequested) - { - return ; - } - - switch ( id ) - { - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Verbose: - { - WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Warning: - { - WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Information: - { - // When an operation supports asjob, Information messages must go thru verbose. - WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Debug: - { - WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Error: - { - WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.Progress: - { - var data = messageData(); - int progress = (int)data.Value; - string activityMessage, statusDescription; - global::System.Management.Automation.ProgressRecordType recordType; - if (progress < 100) - { - activityMessage = "In progress"; - statusDescription = "Checking operation status"; - recordType = System.Management.Automation.ProgressRecordType.Processing; - } - else - { - activityMessage = "Completed"; - statusDescription = "Completed"; - recordType = System.Management.Automation.ProgressRecordType.Completed; - } - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, activityMessage, statusDescription) - { - PercentComplete = progress, - RecordType = recordType - }); - return ; - } - case Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.DelayBeforePolling: - { - var data = messageData(); - if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); - var location = response.GetFirstHeader(@"Location"); - var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; - WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); - // do nothing more. - data.Cancel(); - return; - } - } - else - { - if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) - { - int delay = (int)(response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); - WriteDebug($"Delaying {delay} seconds before polling."); - for (var now = 0; now < delay; ++now) - { - WriteProgress(new global::System.Management.Automation.ProgressRecord(1, "In progress", "Checking operation status") - { - PercentComplete = now * 100 / delay - }); - await global::System.Threading.Tasks.Task.Delay(1000, token); - } - } - } - break; - } - } - await Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.Signal(id, token, messageData, (i, t, m) => ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(i, t, () => Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventDataConverter.ConvertFrom(m()) as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.EventData), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); - if (token.IsCancellationRequested) - { - return ; - } - WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); - } - } - - /// Performs execution of the command. - protected override void ProcessRecord() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - __processRecordId = System.Guid.NewGuid().ToString(); - try - { - // work - if (ShouldProcess($"Call remote 'VirtualMachineInstancesUpdate' operation")) - { - if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) - { - var instance = this.Clone(); - var job = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); - JobRepository.Add(job); - var task = instance.ProcessRecordAsync(); - job.Monitor(task); - WriteObject(job); - } - else - { - using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token) ) - { - asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token); - } - } - } - } - catch (global::System.AggregateException aggregateException) - { - // unroll the inner exceptions to get the root cause - foreach( var innerException in aggregateException.Flatten().InnerExceptions ) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - } - catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - // Write exception out to error channel. - WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); - } - finally - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordEnd).Wait(); - } - } - - /// Performs execution of the command, working asynchronously if required. - /// - /// A that will be complete when handling of the method is completed. - /// - protected async global::System.Threading.Tasks.Task ProcessRecordAsync() - { - using( NoSynchronizationContext ) - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - Pipeline = Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName, this.ExtensibleParameters); - if (null != HttpPipelinePrepend) - { - Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); - } - if (null != HttpPipelineAppend) - { - Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); - } - // get the client instance - try - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - await this.Client.VirtualMachineInstancesUpdate(ResourceUri, _virtualMachineInstanceBody, onOk, onDefault, this, Pipeline, Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SerializationMode.IncludeUpdate); - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } - } - catch (Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.UndeclaredResponseException urexception) - { - WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceUri=ResourceUri}) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } - }); - } - finally - { - await ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Events.CmdletProcessRecordAsyncEnd); - } - } - } - - /// Interrupts currently running code within the command. - protected override void StopProcessing() - { - ((Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.IEventListener)this).Cancel(); - base.StopProcessing(); - } - - /// - /// Initializes a new instance of the cmdlet class. - /// - public UpdateAzStackHCIVMVirtualMachine_UpdateExpanded() - { - - } - - /// - /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). - /// - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IErrorResponse - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnDefault(responseMessage, response, ref _returnNow); - // if overrideOnDefault has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // Error Response : default - var code = (await response)?.Code; - var message = (await response)?.Message; - if ((null == code || null == message)) - { - // Unrecognized Response. Create an error record based on what we have. - var ex = new Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.RestException(responseMessage, await response); - WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } - }); - } - else - { - WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) - { - ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } - }); - } - } - } - - /// a delegate that is called when the remote service returns 200 (OK). - /// the raw response message as an global::System.Net.Http.HttpResponseMessage. - /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - /// from the remote call - /// - /// A that will be complete when handling of the method is completed. - /// - private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) - { - using( NoSynchronizationContext ) - { - var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); - overrideOnOk(responseMessage, response, ref _returnNow); - // if overrideOnOk has returned true, then return right away. - if ((null != _returnNow && await _returnNow)) - { - return ; - } - // onOk - response for 200 / application/json - // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance - var result = (await response); - if (null != result) - { - if (0 == _responseSize) - { - _firstResponse = result; - _responseSize = 1; - } - else - { - if (1 ==_responseSize) - { - // Flush buffer - WriteObject(_firstResponse.AddMultipleTypeNameIntoPSObject()); - } - WriteObject(result.AddMultipleTypeNameIntoPSObject()); - _responseSize = 2; - } - } - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs b/azstackhci-powershell/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs deleted file mode 100644 index f42e6af2c533..000000000000 --- a/azstackhci-powershell/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs +++ /dev/null @@ -1,193 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -using System; -using System.IO; -using System.Linq; -using System.Management.Automation; -using System.Text; -using System.Text.RegularExpressions; -using static Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell.PsHelpers; - -namespace Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.PowerShell -{ - [Cmdlet(VerbsData.Export, "Psd1")] - [DoNotExport] - public class ExportPsd1 : PSCmdlet - { - [Parameter(Mandatory = true)] - [ValidateNotNullOrEmpty] - public string ExportsFolder { get; set; } - - [Parameter(Mandatory = true)] - [ValidateNotNullOrEmpty] - public string CustomFolder { get; set; } - - [Parameter(Mandatory = true)] - [ValidateNotNullOrEmpty] - public string Psd1Path { get; set; } - - [Parameter(Mandatory = true)] - public Guid ModuleGuid { get; set; } - - private static readonly bool IsAzure = Convert.ToBoolean(@"true"); - private const string CustomFolderRelative = "./custom"; - private const string Indent = Psd1Indent; - private const string Undefined = "undefined"; - private bool IsUndefined(string value) => string.Equals(Undefined, value, StringComparison.OrdinalIgnoreCase); - - protected override void ProcessRecord() - { - try - { - if (!Directory.Exists(ExportsFolder)) - { - throw new ArgumentException($"Exports folder '{ExportsFolder}' does not exist"); - } - - if (!Directory.Exists(CustomFolder)) - { - throw new ArgumentException($"Custom folder '{CustomFolder}' does not exist"); - } - - string version = Convert.ToString(@"2.0.0"); - // Validate the module version should be semantic version - // Following regex is official from https://semver.org/ - Regex rx = new Regex(@"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$", RegexOptions.Compiled); - if (rx.Matches(version).Count != 1) - { - throw new ArgumentException("Module-version is not a valid Semantic Version"); - } - - string previewVersion = null; - if (version.Contains('-')) - { - string[] versions = version.Split("-".ToCharArray(), 2); - version = versions[0]; - previewVersion = versions[1]; - } - - var sb = new StringBuilder(); - sb.AppendLine("@{"); - sb.AppendLine($@"{GuidStart} = '{ModuleGuid}'"); - sb.AppendLine($@"{Indent}RootModule = '{"./Az.StackHCIVM.psm1"}'"); - sb.AppendLine($@"{Indent}ModuleVersion = '{version}'"); - sb.AppendLine($@"{Indent}CompatiblePSEditions = 'Core', 'Desktop'"); - sb.AppendLine($@"{Indent}Author = '{"Microsoft Corporation"}'"); - sb.AppendLine($@"{Indent}CompanyName = '{"Microsoft Corporation"}'"); - sb.AppendLine($@"{Indent}Copyright = '{"Microsoft Corporation. All rights reserved."}'"); - sb.AppendLine($@"{Indent}Description = '{"Microsoft Azure PowerShell: StackHcivm cmdlets"}'"); - sb.AppendLine($@"{Indent}PowerShellVersion = '5.1'"); - sb.AppendLine($@"{Indent}DotNetFrameworkVersion = '4.7.2'"); - - // RequiredModules - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}RequiredModules = @({"undefined"})"); - } - - // RequiredAssemblies - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}RequiredAssemblies = @({"undefined"})"); - } - else - { - sb.AppendLine($@"{Indent}RequiredAssemblies = '{"./bin/Az.StackHCIVM.private.dll"}'"); - } - - // NestedModules - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}NestedModules = @({"undefined"})"); - } - - // FormatsToProcess - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}FormatsToProcess = @({"undefined"})"); - } - else - { - var customFormatPs1xmlFiles = Directory.GetFiles(CustomFolder) - .Where(f => f.EndsWith(".format.ps1xml")) - .Select(f => $"{CustomFolderRelative}/{Path.GetFileName(f)}"); - var formatList = customFormatPs1xmlFiles.Prepend("./Az.StackHCIVM.format.ps1xml").ToPsList(); - sb.AppendLine($@"{Indent}FormatsToProcess = {formatList}"); - } - - // TypesToProcess - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}TypesToProcess = @({"undefined"})"); - } - - // ScriptsToProcess - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}ScriptsToProcess = @({"undefined"})"); - } - - var functionInfos = GetScriptCmdlets(ExportsFolder).ToArray(); - // FunctionsToExport - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}FunctionsToExport = @({"undefined"})"); - } - else - { - var cmdletsList = functionInfos.Select(fi => fi.Name).Distinct().ToPsList(); - sb.AppendLine($@"{Indent}FunctionsToExport = {cmdletsList}"); - } - - // AliasesToExport - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}AliasesToExport = @({"undefined"})"); - } - else - { - var aliasesList = functionInfos.SelectMany(fi => fi.ScriptBlock.Attributes).ToAliasNames().ToPsList(); - if (!String.IsNullOrEmpty(aliasesList)) { - sb.AppendLine($@"{Indent}AliasesToExport = {aliasesList}"); - } - } - - // CmdletsToExport - if (!IsUndefined("undefined")) - { - sb.AppendLine($@"{Indent}CmdletsToExport = @({"undefined"})"); - } - - sb.AppendLine($@"{Indent}PrivateData = @{{"); - sb.AppendLine($@"{Indent}{Indent}PSData = @{{"); - - if (previewVersion != null) - { - sb.AppendLine($@"{Indent}{Indent}{Indent}Prerelease = '{previewVersion}'"); - } - sb.AppendLine($@"{Indent}{Indent}{Indent}Tags = {"Azure ResourceManager ARM PSModule StackHcivm".Split(' ').ToPsList().NullIfEmpty() ?? "''"}"); - sb.AppendLine($@"{Indent}{Indent}{Indent}LicenseUri = '{"https://aka.ms/azps-license"}'"); - sb.AppendLine($@"{Indent}{Indent}{Indent}ProjectUri = '{"https://github.com/Azure/azure-powershell"}'"); - sb.AppendLine($@"{Indent}{Indent}{Indent}ReleaseNotes = ''"); - var profilesList = ""; - if (IsAzure && !String.IsNullOrEmpty(profilesList)) - { - sb.AppendLine($@"{Indent}{Indent}{Indent}Profiles = {profilesList}"); - } - - sb.AppendLine($@"{Indent}{Indent}}}"); - sb.AppendLine($@"{Indent}}}"); - sb.AppendLine(@"}"); - - File.WriteAllText(Psd1Path, sb.ToString()); - } - catch (Exception ee) - { - Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); - throw ee; - } - } - } -} diff --git a/azstackhci-powershell/internal/Az.StackHCIVm.internal.psm1 b/azstackhci-powershell/internal/Az.StackHCIVm.internal.psm1 deleted file mode 100644 index 9f85ae0507b4..000000000000 --- a/azstackhci-powershell/internal/Az.StackHCIVm.internal.psm1 +++ /dev/null @@ -1,38 +0,0 @@ -# region Generated - # Load the private module dll - $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.StackHCIVM.private.dll') - - # Get the private module's instance - $instance = [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Module]::Instance - - # Export nothing to clear implicit exports - Export-ModuleMember - - # Export proxy cmdlet scripts - $exportsPath = $PSScriptRoot - $directories = Get-ChildItem -Directory -Path $exportsPath - $profileDirectory = $null - if($instance.ProfileName) { - if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { - $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } - } else { - # Don't export anything if the profile doesn't exist for the module - $exportsPath = $null - Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." - } - } elseif(($directories | Measure-Object).Count -gt 0) { - # Load the last folder if no profile is selected - $profileDirectory = $directories | Select-Object -Last 1 - } - - if($profileDirectory) { - Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" - $exportsPath = $profileDirectory.FullName - } - - if($exportsPath) { - Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } - $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath - Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) - } -# endregion diff --git a/azstackhci-powershell/internal/Get-AzStackHciVMOperation.ps1 b/azstackhci-powershell/internal/Get-AzStackHciVMOperation.ps1 deleted file mode 100644 index a438af34fcde..000000000000 --- a/azstackhci-powershell/internal/Get-AzStackHciVMOperation.ps1 +++ /dev/null @@ -1,125 +0,0 @@ - -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- - -<# -.Synopsis -Gets a list of hybrid compute operations. -.Description -Gets a list of hybrid compute operations. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmoperation -#> -function Get-AzStackHCIVMOperation { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue])] -[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] -param( - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMOperation_List'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} diff --git a/azstackhci-powershell/internal/ProxyCmdletDefinitions.ps1 b/azstackhci-powershell/internal/ProxyCmdletDefinitions.ps1 deleted file mode 100644 index 22bc780ba6f4..000000000000 --- a/azstackhci-powershell/internal/ProxyCmdletDefinitions.ps1 +++ /dev/null @@ -1,10446 +0,0 @@ - -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- - -<# -.Synopsis -Gets an Agent Version along with the download link currently present. -.Description -Gets an Agent Version along with the download link currently present. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IAgentVersion -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IAgentVersionsList -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -OSTYPEINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmagentversion -#> -function Get-AzStackHCIVMAgentVersion { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IAgentVersion], [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IAgentVersionsList])] -[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] -param( - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Defines the os type - ${OSType}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityOSType', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Defines the agent version. - # To get latest, use latest or else a specific agent version. - ${Version}, - - [Parameter(ParameterSetName='GetViaIdentityOSType', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for OSTYPEINPUTOBJECT properties and create a hash table. - ${OSTypeInputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMAgentVersion_Get'; - GetViaIdentityOSType = 'Az.StackHCIVM.private\Get-AzStackHCIVMAgentVersion_GetViaIdentityOSType'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMAgentVersion_List'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Gets an Extension Metadata based on location, publisher, extensionType and version -.Description -Gets an Extension Metadata based on location, publisher, extensionType and version -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IExtensionValue -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -EXTENSIONTYPEINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk - -LOCATIONINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk - -PUBLISHERINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmextensionmetadata -#> -function Get-AzStackHCIVMExtensionMetadata { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IExtensionValue])] -[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] -param( - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityLocation', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityPublisher', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The extensionType of the Extension being received. - ${ExtensionType}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The location of the Extension being received. - ${Location}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityLocation', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The publisher of the Extension being received. - ${Publisher}, - - [Parameter(ParameterSetName='Get')] - [Parameter(ParameterSetName='List')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String[]] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityExtensionType', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityLocation', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityPublisher', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The version of the Extension being received. - ${Version}, - - [Parameter(ParameterSetName='GetViaIdentityExtensionType', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for EXTENSIONTYPEINPUTOBJECT properties and create a hash table. - ${ExtensionTypeInputObject}, - - [Parameter(ParameterSetName='GetViaIdentityLocation', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for LOCATIONINPUTOBJECT properties and create a hash table. - ${LocationInputObject}, - - [Parameter(ParameterSetName='GetViaIdentityPublisher', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for PUBLISHERINPUTOBJECT properties and create a hash table. - ${PublisherInputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_Get'; - GetViaIdentityExtensionType = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_GetViaIdentityExtensionType'; - GetViaIdentityLocation = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_GetViaIdentityLocation'; - GetViaIdentityPublisher = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_GetViaIdentityPublisher'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMExtensionMetadata_List'; - } - if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Gets a gallery image -.Description -Gets a gallery image -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmgalleryimage -#> -function Get-AzStackHCIVMGalleryImage { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages])] -[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] -param( - [Parameter(ParameterSetName='Get', Mandatory)] - [Alias('GalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the gallery image - ${Name}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String[]] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMGalleryImage_Get'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMGalleryImage_List'; - List1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMGalleryImage_List1'; - } - if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Implements GuestAgent GET method. -.Description -Implements GuestAgent GET method. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmguestagent -#> -function Get-AzStackHCIVMGuestAgent { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent])] -[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMGuestAgent_Get'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMGuestAgent_List'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Implements HybridIdentityMetadata GET method. -.Description -Implements HybridIdentityMetadata GET method. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataAutoGenerated -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -MACHINEINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmhybrididentitymetadata -#> -function Get-AzStackHCIVMHybridIdentityMetadata { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadata], [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IHybridIdentityMetadataAutoGenerated])] -[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] -param( - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter(ParameterSetName='Get1', Mandatory)] - [Parameter(ParameterSetName='List1', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the hybrid machine. - ${MachineName}, - - [Parameter(ParameterSetName='Get1', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityMachine', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the HybridIdentityMetadata. - ${MetadataName}, - - [Parameter(ParameterSetName='Get1', Mandatory)] - [Parameter(ParameterSetName='List1', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Get1')] - [Parameter(ParameterSetName='List1')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String[]] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='GetViaIdentityMachine', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. - ${MachineInputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_Get'; - Get1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_Get1'; - GetViaIdentityMachine = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_GetViaIdentityMachine'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_List'; - List1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMHybridIdentityMetadata_List1'; - } - if (('Get1', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to get the extension. -.Description -The operation to get the extension. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -MACHINEINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmmachineextension -#> -function Get-AzStackHCIVMMachineExtension { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension])] -[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] -param( - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='GetViaIdentityMachine', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine extension. - ${ExtensionName}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine containing the extension. - ${MachineName}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Get')] - [Parameter(ParameterSetName='List')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String[]] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='GetViaIdentityMachine', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. - ${MachineInputObject}, - - [Parameter(ParameterSetName='List')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Query')] - [System.String] - # The expand expression to apply on the operation. - ${Expand}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachineExtension_Get'; - GetViaIdentityMachine = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachineExtension_GetViaIdentityMachine'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachineExtension_List'; - } - if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Retrieves information about the model view or the instance view of a hybrid machine. -.Description -Retrieves information about the model view or the instance view of a hybrid machine. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmmachine -#> -function Get-AzStackHCIVMMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine])] -[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] -param( - [Parameter(ParameterSetName='Get', Mandatory)] - [Alias('MachineName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the hybrid machine. - ${Name}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String[]] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='Get')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("instanceView")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Query')] - [System.String] - # The expand expression to apply on the operation. - ${Expand}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachine_Get'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachine_List'; - List1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMMachine_List1'; - } - if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Gets a marketplace gallery image -.Description -Gets a marketplace gallery image -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmmarketplacegalleryimage -#> -function Get-AzStackHCIVMMarketplaceGalleryImage { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages])] -[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] -param( - [Parameter(ParameterSetName='Get', Mandatory)] - [Alias('MarketplaceGalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the marketplace gallery image - ${Name}, - - [Parameter(ParameterSetName='Get', Mandatory)] - [Parameter(ParameterSetName='List', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String[]] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMMarketplaceGalleryImage_Get'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMMarketplaceGalleryImage_List'; - List1 = 'Az.StackHCIVM.private\Get-AzStackHCIVMMarketplaceGalleryImage_List1'; - } - if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to get network information of hybrid machine -.Description -The operation to get network information of hybrid machine -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfile -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmnetworkprofile -#> -function Get-AzStackHCIVMNetworkProfile { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfile])] -[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the hybrid machine. - ${MachineName}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String[]] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMNetworkProfile_Get'; - } - if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Gets a list of hybrid compute operations. -.Description -Gets a list of hybrid compute operations. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmoperation -#> -function Get-AzStackHCIVMOperation { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IOperationValue])] -[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] -param( - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMOperation_List'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Gets a virtual machine instance -.Description -Gets a virtual machine instance -.Example -Get-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" -.Example -Get-AzStackHCIVMVirtualMachine -ResourceGroupName "test-rg" - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/get-azstackhcivmvirtualmachine -#> -function Get-AzStackHCIVMVirtualMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] -[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Get = 'Az.StackHCIVM.private\Get-AzStackHCIVMVirtualMachine_Get'; - List = 'Az.StackHCIVM.private\Get-AzStackHCIVMVirtualMachine_List'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a gallery image. -Please note some properties can be set only during gallery image creation. -.Description -The operation to Create a gallery image. -Please note some properties can be set only during gallery image creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmgalleryimage -#> -function New-AzStackHCIVMGalleryImage { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('GalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the gallery image - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] - ${CloudInitDataSource}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${CustomLocationId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The hypervisor generation of the Virtual Machine [V1, V2] - ${HyperVGeneration}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # location of the image the gallery image should be created from - ${ImagePath}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Operating system type that the gallery image uses [Windows, Linux] - ${OSType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition offer. - ${Offer}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition publisher. - ${Publisher}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition SKU. - ${Sku}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Storage ContainerID of the storage container to be used for gallery image - ${StoragePathId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # This is the version of the gallery image. - ${Version}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMGalleryImage_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMGalleryImage_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMGalleryImage_CreateViaJsonString'; - } - if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { - $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Create GuestAgent. -.Description -Create GuestAgent. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmguestagent -#> -function New-AzStackHCIVMGuestAgent { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The password to connect with the guest. - ${CredentialsPassword}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The username to connect with the guest. - ${CredentialsUsername}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("install", "uninstall", "repair")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The guest agent provisioning action. - ${ProvisioningAction}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMGuestAgent_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMGuestAgent_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMGuestAgent_CreateViaJsonString'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a logical network. -Please note some properties can be set only during logical network creation. -.Description -The operation to Create a logical network. -Please note some properties can be set only during logical network creation. -.Example -New-AzStackHCIVMLogicalNetwork -Name "testLnet" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -VmSwitchName "testswitch" - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -SUBNET : Subnet - list of subnets under the logical network - [AddressPrefix ]: The address prefix for the subnet: Cidr for this subnet - IPv4, IPv6. - [AddressPrefixes >]: List of address prefixes for the subnet. - [IPAllocationMethod ]: IPAllocationMethod - The IP address allocation method. Possible values include: 'Static', 'Dynamic' - [IPConfigurationReference >]: IPConfigurationReferences - list of IPConfigurationReferences - [Id ]: IPConfigurationID - [IPPool >]: network associated pool of IP Addresses - [End ]: End of the IP address pool - [Name ]: Name of the IP-Pool - [Start ]: Start of the IP address pool - [Type ]: Type of the IP Pool [vm, vippool] - [Name ]: Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. - [Route >]: Collection of routes contained within a route table. - [AddressPrefix ]: The destination CIDR to which the route applies. - [Name ]: Name - name of the subnet - [NextHopIPAddress ]: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - [Vlan ]: Vlan to use for the subnet -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmlogicalnetwork -#> -function New-AzStackHCIVMLogicalNetwork { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('LogicalNetworkName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the logical network - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${CustomLocationId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String[]] - # The list of DNS servers IP addresses. - ${DnsServer}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet[]] - # Subnet - list of subnets under the logical network - # To construct, see NOTES section for SUBNET properties and create a hash table. - ${Subnet}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # name of the network switch to be used for VMs - ${VMSwitchName}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMLogicalNetwork_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMLogicalNetwork_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMLogicalNetwork_CreateViaJsonString'; - } - if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { - $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create the extension. -.Description -The operation to Create the extension. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -EXTENSIONPARAMETER : Describes a Machine Extension. - Location : The geo-location where the resource lives - [Tag ]: Resource tags. - [(Any) ]: This indicates any property can be added to this object. - [AutoUpgradeMinorVersion ]: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - [EnableAutomaticUpgrade ]: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - [ForceUpdateTag ]: How the extension handler should be forced to update even if the extension configuration has not changed. - [InstanceViewName ]: The machine extension name. - [InstanceViewType ]: Specifies the type of the extension; an example is "CustomScriptExtension". - [InstanceViewTypeHandlerVersion ]: Specifies the version of the script handler. - [PropertiesType ]: Specifies the type of the extension; an example is "CustomScriptExtension". - [ProtectedSetting ]: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - [(Any) ]: This indicates any property can be added to this object. - [Publisher ]: The name of the extension handler publisher. - [Setting ]: Json formatted public settings for the extension. - [(Any) ]: This indicates any property can be added to this object. - [StatusCode ]: The status code. - [StatusDisplayStatus ]: The short localizable label for the status. - [StatusLevel ]: The level code. - [StatusMessage ]: The detailed status message, including for alerts and error messages. - [StatusTime ]: The time of the status. - [TypeHandlerVersion ]: Specifies the version of the script handler. - -MACHINEINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmmachineextension -#> -function New-AzStackHCIVMMachineExtension { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine extension. - ${ExtensionName}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine where the extension should be created or updated. - ${MachineName}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaJsonFilePath')] - [Parameter(ParameterSetName='CreateViaJsonString')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='CreateViaIdentityMachine', Mandatory, ValueFromPipeline)] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. - ${MachineInputObject}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Indicates whether the extension should use a newer minor version if one is available at deployment time. - # Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - ${AutoUpgradeMinorVersion}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - ${EnableAutomaticUpgrade}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # How the extension handler should be forced to update even if the extension configuration has not changed. - ${ForceUpdateTag}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The machine extension name. - ${InstanceViewName}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the type of the extension; an example is "CustomScriptExtension". - ${InstanceViewType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the version of the script handler. - ${InstanceViewTypeHandlerVersion}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the type of the extension; an example is "CustomScriptExtension". - ${PropertiesType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionPropertiesProtectedSettings]))] - [System.Collections.Hashtable] - # The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - ${ProtectedSetting}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extension handler publisher. - ${Publisher}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionPropertiesSettings]))] - [System.Collections.Hashtable] - # Json formatted public settings for the extension. - ${Setting}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The status code. - ${StatusCode}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The short localizable label for the status. - ${StatusDisplayStatus}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Info", "Warning", "Error")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The level code. - ${StatusLevel}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The detailed status message, including for alerts and error messages. - ${StatusMessage}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.DateTime] - # The time of the status. - ${StatusTime}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Parameter(ParameterSetName='CreateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the version of the script handler. - ${TypeHandlerVersion}, - - [Parameter(ParameterSetName='CreateViaIdentityMachine', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension] - # Describes a Machine Extension. - # To construct, see NOTES section for EXTENSIONPARAMETER properties and create a hash table. - ${ExtensionParameter}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateExpanded'; - CreateViaIdentityMachine = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateViaIdentityMachine'; - CreateViaIdentityMachineExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateViaIdentityMachineExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMMachineExtension_CreateViaJsonString'; - } - if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a hybrid machine. -Please note some properties can be set only during machine creation. -.Description -The operation to Create a hybrid machine. -Please note some properties can be set only during machine creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -EXTENSION : Machine Extensions information (deprecated field) - [Name ]: The machine extension name. - [StatusCode ]: The status code. - [StatusDisplayStatus ]: The short localizable label for the status. - [StatusLevel ]: The level code. - [StatusMessage ]: The detailed status message, including for alerts and error messages. - [StatusTime ]: The time of the status. - [Type ]: Specifies the type of the extension; an example is "CustomScriptExtension". - [TypeHandlerVersion ]: Specifies the version of the script handler. -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmmachine -#> -function New-AzStackHCIVMMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('MachineName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the hybrid machine. - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The correlation ID passed in from RSM per upgrade. - ${AgentUpgradeCorrelationId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the version info w.r.t AgentUpgrade for the machine. - ${AgentUpgradeDesiredVersion}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Specifies if RSM should try to upgrade this machine - ${AgentUpgradeEnableAutomaticUpgrade}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Public Key that the client provides to be used during initial resource onboarding - ${ClientPublicKey}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionInstanceView[]] - # Machine Extensions information (deprecated field) - # To construct, see NOTES section for EXTENSION properties and create a hash table. - ${Extension}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The behavior of the service when the Arc-enabled machine starts up. - ${ExtensionServiceStartupType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The current status of the service. - ${ExtensionServiceStatus}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The behavior of the service when the Arc-enabled machine starts up. - ${GuestConfigurationServiceStartupType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The current status of the service. - ${GuestConfigurationServiceStatus}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The identity type. - ${IdentityType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("AVS", "HCI", "SCVMM", "VMware")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - ${Kind}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the assessment mode. - ${LinuxConfigurationPatchSettingsAssessmentMode}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the patch mode. - ${LinuxConfigurationPatchSettingsPatchMode}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The city or locality where the resource is located. - ${LocationDataCity}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The country or region where the resource is located - ${LocationDataCountryOrRegion}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The district, state, or province where the resource is located. - ${LocationDataDistrict}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # A canonical name for the geographic or physical location. - ${LocationDataName}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies whether any MS SQL instance is discovered on the machine. - ${MssqlDiscovered}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of Operating System (windows/linux). - ${OSType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - ${ParentClusterResourceId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The resource id of the private link scope this machine is assigned to, if any. - ${PrivateLinkScopeResourceId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the hybrid machine unique ID. - ${VMId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the assessment mode. - ${WindowsConfigurationPatchSettingsAssessmentMode}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the patch mode. - ${WindowsConfigurationPatchSettingsPatchMode}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMMachine_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMMachine_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMMachine_CreateViaJsonString'; - } - if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a marketplace gallery image. -Please note some properties can be set only during marketplace gallery image creation. -.Description -The operation to Create a marketplace gallery image. -Please note some properties can be set only during marketplace gallery image creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmmarketplacegalleryimage -#> -function New-AzStackHCIVMMarketplaceGalleryImage { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('MarketplaceGalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the marketplace gallery image - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] - ${CloudInitDataSource}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${CustomLocationId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The hypervisor generation of the Virtual Machine [V1, V2] - ${HyperVGeneration}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Operating system type that the gallery image uses [Windows, Linux] - ${OSType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition offer. - ${Offer}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition publisher. - ${Publisher}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition SKU. - ${Sku}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Storage ContainerID of the storage container to be used for marketplace gallery image - ${StoragePathId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # This is the version of the gallery image. - ${Version}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMMarketplaceGalleryImage_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMMarketplaceGalleryImage_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMMarketplaceGalleryImage_CreateViaJsonString'; - } - if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { - $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a network interface. -Please note some properties can be set only during network interface creation. -.Description -The operation to Create a network interface. -Please note some properties can be set only during network interface creation. -.Example -New-AzStackHCIVMNetworkInterface -Name "testNic" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -SubnetName "testLnet" - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -IPCONFIGURATION : IPConfigurations - A list of IPConfigurations of the network interface. - [IPAddress ]: PrivateIPAddress - Private IP address of the IP configuration. - [Name ]: Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. - [SubnetId ]: ID - The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmnetworkinterface -#> -function New-AzStackHCIVMNetworkInterface { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('NetworkInterfaceName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the network interface - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${CustomLocationId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String[]] - # List of DNS server IP Addresses for the interface - ${DnsServer}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration[]] - # IPConfigurations - A list of IPConfigurations of the network interface. - # To construct, see NOTES section for IPCONFIGURATION properties and create a hash table. - ${IPConfiguration}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # MacAddress - The MAC address of the network interface. - ${MacAddress}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMNetworkInterface_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMNetworkInterface_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMNetworkInterface_CreateViaJsonString'; - } - if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { - $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a storage container. -Please note some properties can be set only during storage container creation. -.Description -The operation to Create a storage container. -Please note some properties can be set only during storage container creation. -.Example -New-AzStackHCIVMStoragePath -Name "testStoragePath" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}"-Location "eastus" -Path "C:\ClusterStorage\Volume1\testpath" - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmstoragepath -#> -function New-AzStackHCIVMStoragePath { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('StorageContainerName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the storage container - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${CustomLocationId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of the storage container on the disk - ${Path}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMStoragePath_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMStoragePath_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMStoragePath_CreateViaJsonString'; - } - if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { - $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a virtual hard disk. -Please note some properties can be set only during virtual hard disk creation. -.Description -The operation to Create a virtual hard disk. -Please note some properties can be set only during virtual hard disk creation. -.Example -New-AzStackHCIVMVirtualHardDisk -Name "testVhd" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -SizeGb 2 - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmvirtualharddisk -#> -function New-AzStackHCIVMVirtualHardDisk { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('VirtualHardDiskName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the virtual hard disk - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='CreateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # . - ${BlockSizeByte}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${CustomLocationId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("vhdx", "vhd")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The format of the actual VHD file [vhd, vhdx] - ${DiskFileFormat}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Boolean for enabling dynamic sizing on the virtual hard disk - ${Dynamic}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The hypervisor generation of the Virtual Machine [V1, V2] - ${HyperVGeneration}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # . - ${LogicalSectorByte}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # . - ${PhysicalSectorByte}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # Size of the disk in GB - ${SizeGb}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Storage ContainerID of the storage container to be used for VHD - ${StoragePathId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualHardDisk_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualHardDisk_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualHardDisk_CreateViaJsonString'; - } - if (('CreateExpanded', 'CreateViaJsonFilePath', 'CreateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { - $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a virtual machine instance. -Please note some properties can be set only during virtual machine instance creation. -.Description -The operation to Create a virtual machine instance. -Please note some properties can be set only during virtual machine instance creation. -.Example -New-AzStackHCIVMVirtualMachine -Name "testVm" -OsType "Linux" -ImageName "testImage" -VmSize "Standard_K8S_v1" -AdminUsername "localadmin" -ComputerName "testVm" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -.Example -New-AzStackHCIVMVirtualMachine -Name "testVm" -OsType "Linux" -OsDiskName "testOsDisk" -VmSize "Standard_K8S_v1" -AdminUsername "localadmin" -ComputerName "testVm" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -LINUXCONFIGURATIONSSHPUBLICKEY : The list of SSH public keys used to authenticate with linux based VMs. - [KeyData ]: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). - [Path ]: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys - -NETWORKPROFILENETWORKINTERFACE : NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - [Id ]: ID - Resource Id of the network interface - -STORAGEPROFILEDATADISK : adds data disks to the virtual machine instance - [Id ]: Resource ID of the data disk - -WINDOWSCONFIGURATIONSSHPUBLICKEY : The list of SSH public keys used to authenticate with linux based VMs. - [KeyData ]: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). - [Path ]: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/new-azstackhcivmvirtualmachine -#> -function New-AzStackHCIVMVirtualMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] -[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # AdminPassword - admin password - ${AdminPassword}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # AdminUsername - admin username - ${AdminUsername}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # ComputerName - name of the compute - ${ComputerName}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${CustomLocationId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # DisablePasswordAuthentication - whether password authentication should be disabled - ${DisablePasswordAuthentication}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # . - ${DynamicMemoryMaximumMemoryInMb}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # . - ${DynamicMemoryMinimumMemoryInMb}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. - # This only applies to virtual systems with dynamic memory enabled. - # This property can be in the range of 5 to 2000. - ${DynamicMemoryTargetBuffer}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Whether to EnableAutomaticUpdates on the machine - ${EnableAutomaticUpdate}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # . - ${EnableTpm}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The HTTP proxy server endpoint to use. - ${HttpProxyConfigHttpProxy}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The HTTPS proxy server endpoint to use. - ${HttpProxyConfigHttpsProxy}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String[]] - # The endpoints that should not go through proxy. - ${HttpProxyConfigNoProxy}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Alternative CA cert to use for connecting to proxy servers. - ${HttpProxyConfigTrustedCa}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The identity type. - ${IdentityType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Resource ID of the image - ${ImageId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. - ${LinuxConfigurationProvisionVMAgent}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - ${LinuxConfigurationProvisionVMConfigAgent}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[]] - # The list of SSH public keys used to authenticate with linux based VMs. - # To construct, see NOTES section for LINUXCONFIGURATIONSSHPUBLICKEY properties and create a hash table. - ${LinuxConfigurationSshPublicKey}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem[]] - # NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - # To construct, see NOTES section for NETWORKPROFILENETWORKINTERFACE properties and create a hash table. - ${NetworkProfileNetworkInterface}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Resource ID of the OS disk - ${OSDiskId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. - # Possible values are: **Windows,** **Linux.** - ${OSDiskOstype}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Unique identifier defined by ARC to identify the guest of the VM. - ${ResourceUid}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Specifies whether secure boot should be enabled on the virtual machine instance. - ${SecureBootEnabled}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("TrustedLaunch", "ConfidentialVM")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the SecurityType of the virtual machine. - # EnableTPM and SecureBootEnabled must be set to true for SecurityType to function. - ${SecurityProfileSecurityType}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Id of the storage container that hosts the VM configuration file - ${StoragePathId}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem[]] - # adds data disks to the virtual machine instance - # To construct, see NOTES section for STORAGEPROFILEDATADISK properties and create a hash table. - ${StorageProfileDataDisk}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # TimeZone for the virtual machine instance - ${TimeZone}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # RAM in MB for the virtual machine instance - ${VmMemory}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # number of processors for the virtual machine instance - ${VmProcessor}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # . - ${VmSize}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. - ${WindowConfigurationProvisionVMAgent}, - - [Parameter(ParameterSetName='CreateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - ${WindowConfigurationProvisionVMConfigAgent}, - - [Parameter(ParameterSetName='CreateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[]] - # The list of SSH public keys used to authenticate with linux based VMs. - # To construct, see NOTES section for WINDOWSCONFIGURATIONSSHPUBLICKEY properties and create a hash table. - ${WindowsConfigurationSshPublicKey}, - - [Parameter(ParameterSetName='CreateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Create operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='CreateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Create operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - CreateExpanded = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualMachine_CreateExpanded'; - CreateViaJsonFilePath = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualMachine_CreateViaJsonFilePath'; - CreateViaJsonString = 'Az.StackHCIVM.private\New-AzStackHCIVMVirtualMachine_CreateViaJsonString'; - } - if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('ExtendedLocationType') ) { - $PSBoundParameters['ExtendedLocationType'] = "CustomLocation" - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete a gallery image. -.Description -The operation to delete a gallery image. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmgalleryimage -#> -function Remove-AzStackHCIVMGalleryImage { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Delete', Mandatory)] - [Alias('GalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the gallery image - ${Name}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Delete')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMGalleryImage_Delete'; - DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMGalleryImage_DeleteViaIdentity'; - } - if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Implements GuestAgent DELETE method. -.Description -Implements GuestAgent DELETE method. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -System.Boolean -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmguestagent -#> -function Remove-AzStackHCIVMGuestAgent { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMGuestAgent_Delete'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete a logical network. -.Description -The operation to delete a logical network. -.Example -Remove-AzStackHCIVMLogicalNetwork -Name "testLnet" -ResourceGroupName "test-rg" - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmlogicalnetwork -#> -function Remove-AzStackHCIVMLogicalNetwork { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Delete', Mandatory)] - [Alias('LogicalNetworkName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the logical network - ${Name}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Delete')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMLogicalNetwork_Delete'; - DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMLogicalNetwork_DeleteViaIdentity'; - } - if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete the extension. -.Description -The operation to delete the extension. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk - -MACHINEINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmmachineextension -#> -function Remove-AzStackHCIVMMachineExtension { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Delete', Mandatory)] - [Parameter(ParameterSetName='DeleteViaIdentityMachine', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine extension. - ${ExtensionName}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine where the extension should be deleted. - ${MachineName}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Delete')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter(ParameterSetName='DeleteViaIdentityMachine', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. - ${MachineInputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachineExtension_Delete'; - DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachineExtension_DeleteViaIdentity'; - DeleteViaIdentityMachine = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachineExtension_DeleteViaIdentityMachine'; - } - if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete a hybrid machine. -.Description -The operation to delete a hybrid machine. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmmachine -#> -function Remove-AzStackHCIVMMachine { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Delete', Mandatory)] - [Alias('MachineName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the hybrid machine. - ${Name}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Delete')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachine_Delete'; - DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMachine_DeleteViaIdentity'; - } - if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete a marketplace gallery image. -.Description -The operation to delete a marketplace gallery image. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmmarketplacegalleryimage -#> -function Remove-AzStackHCIVMMarketplaceGalleryImage { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Delete', Mandatory)] - [Alias('MarketplaceGalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the marketplace gallery image - ${Name}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Delete')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMarketplaceGalleryImage_Delete'; - DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMMarketplaceGalleryImage_DeleteViaIdentity'; - } - if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete a network interface. -.Description -The operation to delete a network interface. -.Example -Remove-AzStackHCIVMLogicalNetwork -Name "testNic" -ResourceGroupName "test-rg" - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmnetworkinterface -#> -function Remove-AzStackHCIVMNetworkInterface { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Delete', Mandatory)] - [Alias('NetworkInterfaceName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the network interface - ${Name}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Delete')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMNetworkInterface_Delete'; - DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMNetworkInterface_DeleteViaIdentity'; - } - if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete a storage container. -.Description -The operation to delete a storage container. -.Example - Remove-AzStackHCIVMStoragePath -Name "testStoragePath" -ResourceGroupName "test-rg" - - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmstoragepath -#> -function Remove-AzStackHCIVMStoragePath { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Delete', Mandatory)] - [Alias('StorageContainerName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the storage container - ${Name}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Delete')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMStoragePath_Delete'; - DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMStoragePath_DeleteViaIdentity'; - } - if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete a virtual hard disk. -.Description -The operation to delete a virtual hard disk. -.Example -Remove-AzStackHCIVMVirtualHardDisk -Name "testVhd" -ResourceGroupName "test-rg" - - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmvirtualharddisk -#> -function Remove-AzStackHCIVMVirtualHardDisk { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Delete', Mandatory)] - [Alias('VirtualHardDiskName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the virtual hard disk - ${Name}, - - [Parameter(ParameterSetName='Delete', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Delete')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMVirtualHardDisk_Delete'; - DeleteViaIdentity = 'Az.StackHCIVM.private\Remove-AzStackHCIVMVirtualHardDisk_DeleteViaIdentity'; - } - if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to delete a virtual machine instance. -.Description -The operation to delete a virtual machine instance. -.Example -Remove-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" - - -.Outputs -System.Boolean -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/remove-azstackhcivmvirtualmachine -#> -function Remove-AzStackHCIVMVirtualMachine { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Delete = 'Az.StackHCIVM.private\Remove-AzStackHCIVMVirtualMachine_Delete'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to restart a virtual machine instance. -.Description -The operation to restart a virtual machine instance. -.Example -Restart-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" - - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/restart-azstackhcivmvirtualmachine -#> -function Restart-AzStackHCIVMVirtualMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] -[CmdletBinding(DefaultParameterSetName='Restart', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Restart = 'Az.StackHCIVM.private\Restart-AzStackHCIVMVirtualMachine_Restart'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a gallery image. -Please note some properties can be set only during gallery image creation. -.Description -The operation to Create a gallery image. -Please note some properties can be set only during gallery image creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmgalleryimage -#> -function Set-AzStackHCIVMGalleryImage { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('GalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the gallery image - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] - ${CloudInitDataSource}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Storage ContainerID of the storage container to be used for gallery image - ${ContainerId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${ExtendedLocationName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of the extended location. - ${ExtendedLocationType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The hypervisor generation of the Virtual Machine [V1, V2] - ${HyperVGeneration}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition offer. - ${IdentifierOffer}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition publisher. - ${IdentifierPublisher}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition SKU. - ${IdentifierSku}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # location of the image the gallery image should be created from - ${ImagePath}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Operating system type that the gallery image uses [Windows, Linux] - ${OSType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # This is the version of the gallery image. - ${VersionName}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMGalleryImage_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMGalleryImage_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMGalleryImage_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a logical network. -Please note some properties can be set only during logical network creation. -.Description -The operation to Create a logical network. -Please note some properties can be set only during logical network creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -SUBNET : Subnet - list of subnets under the logical network - [AddressPrefix ]: The address prefix for the subnet: Cidr for this subnet - IPv4, IPv6. - [AddressPrefixes >]: List of address prefixes for the subnet. - [IPAllocationMethod ]: IPAllocationMethod - The IP address allocation method. Possible values include: 'Static', 'Dynamic' - [IPConfigurationReference >]: IPConfigurationReferences - list of IPConfigurationReferences - [Id ]: IPConfigurationID - [IPPool >]: network associated pool of IP Addresses - [End ]: End of the IP address pool - [Name ]: Name of the IP-Pool - [Start ]: Start of the IP address pool - [Type ]: Type of the IP Pool [vm, vippool] - [Name ]: Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. - [Route >]: Collection of routes contained within a route table. - [AddressPrefix ]: The destination CIDR to which the route applies. - [Name ]: Name - name of the subnet - [NextHopIPAddress ]: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - [Vlan ]: Vlan to use for the subnet -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmlogicalnetwork -#> -function Set-AzStackHCIVMLogicalNetwork { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ILogicalNetworks])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('LogicalNetworkName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the logical network - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String[]] - # The list of DNS servers IP addresses. - ${DhcpOptionDnsServer}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${ExtendedLocationName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of the extended location. - ${ExtendedLocationType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISubnet[]] - # Subnet - list of subnets under the logical network - # To construct, see NOTES section for SUBNET properties and create a hash table. - ${Subnet}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # name of the network switch to be used for VMs - ${VMSwitchName}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMLogicalNetwork_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMLogicalNetwork_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMLogicalNetwork_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create the extension. -.Description -The operation to Create the extension. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmmachineextension -#> -function Set-AzStackHCIVMMachineExtension { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine extension. - ${ExtensionName}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine where the extension should be created or updated. - ${MachineName}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Indicates whether the extension should use a newer minor version if one is available at deployment time. - # Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - ${AutoUpgradeMinorVersion}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - ${EnableAutomaticUpgrade}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # How the extension handler should be forced to update even if the extension configuration has not changed. - ${ForceUpdateTag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The machine extension name. - ${InstanceViewName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the type of the extension; an example is "CustomScriptExtension". - ${InstanceViewType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the version of the script handler. - ${InstanceViewTypeHandlerVersion}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the type of the extension; an example is "CustomScriptExtension". - ${PropertiesType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionPropertiesProtectedSettings]))] - [System.Collections.Hashtable] - # The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - ${ProtectedSetting}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extension handler publisher. - ${Publisher}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionPropertiesSettings]))] - [System.Collections.Hashtable] - # Json formatted public settings for the extension. - ${Setting}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The status code. - ${StatusCode}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The short localizable label for the status. - ${StatusDisplayStatus}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Info", "Warning", "Error")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The level code. - ${StatusLevel}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The detailed status message, including for alerts and error messages. - ${StatusMessage}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.DateTime] - # The time of the status. - ${StatusTime}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the version of the script handler. - ${TypeHandlerVersion}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachineExtension_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachineExtension_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachineExtension_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a hybrid machine. -Please note some properties can be set only during machine creation. -.Description -The operation to Create a hybrid machine. -Please note some properties can be set only during machine creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -EXTENSION : Machine Extensions information (deprecated field) - [Name ]: The machine extension name. - [StatusCode ]: The status code. - [StatusDisplayStatus ]: The short localizable label for the status. - [StatusLevel ]: The level code. - [StatusMessage ]: The detailed status message, including for alerts and error messages. - [StatusTime ]: The time of the status. - [Type ]: Specifies the type of the extension; an example is "CustomScriptExtension". - [TypeHandlerVersion ]: Specifies the version of the script handler. -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmmachine -#> -function Set-AzStackHCIVMMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('MachineName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the hybrid machine. - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The correlation ID passed in from RSM per upgrade. - ${AgentUpgradeCorrelationId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the version info w.r.t AgentUpgrade for the machine. - ${AgentUpgradeDesiredVersion}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Specifies if RSM should try to upgrade this machine - ${AgentUpgradeEnableAutomaticUpgrade}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Public Key that the client provides to be used during initial resource onboarding - ${ClientPublicKey}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionInstanceView[]] - # Machine Extensions information (deprecated field) - # To construct, see NOTES section for EXTENSION properties and create a hash table. - ${Extension}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The behavior of the service when the Arc-enabled machine starts up. - ${ExtensionServiceStartupType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The current status of the service. - ${ExtensionServiceStatus}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The behavior of the service when the Arc-enabled machine starts up. - ${GuestConfigurationServiceStartupType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The current status of the service. - ${GuestConfigurationServiceStatus}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The identity type. - ${IdentityType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("AVS", "HCI", "SCVMM", "VMware")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - ${Kind}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the assessment mode. - ${LinuxConfigurationPatchSettingsAssessmentMode}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the patch mode. - ${LinuxConfigurationPatchSettingsPatchMode}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The city or locality where the resource is located. - ${LocationDataCity}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The country or region where the resource is located - ${LocationDataCountryOrRegion}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The district, state, or province where the resource is located. - ${LocationDataDistrict}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # A canonical name for the geographic or physical location. - ${LocationDataName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies whether any MS SQL instance is discovered on the machine. - ${MssqlDiscovered}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of Operating System (windows/linux). - ${OSType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - ${ParentClusterResourceId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The resource id of the private link scope this machine is assigned to, if any. - ${PrivateLinkScopeResourceId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the hybrid machine unique ID. - ${VMId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the assessment mode. - ${WindowsConfigurationPatchSettingsAssessmentMode}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the patch mode. - ${WindowsConfigurationPatchSettingsPatchMode}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachine_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachine_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMMachine_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a marketplace gallery image. -Please note some properties can be set only during marketplace gallery image creation. -.Description -The operation to Create a marketplace gallery image. -Please note some properties can be set only during marketplace gallery image creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmmarketplacegalleryimage -#> -function Set-AzStackHCIVMMarketplaceGalleryImage { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('MarketplaceGalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the marketplace gallery image - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("NoCloud", "Azure")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Datasource for the gallery image when provisioning with cloud-init [NoCloud, Azure] - ${CloudInitDataSource}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Storage ContainerID of the storage container to be used for marketplace gallery image - ${ContainerId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${ExtendedLocationName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of the extended location. - ${ExtendedLocationType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The hypervisor generation of the Virtual Machine [V1, V2] - ${HyperVGeneration}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition offer. - ${IdentifierOffer}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition publisher. - ${IdentifierPublisher}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the gallery image definition SKU. - ${IdentifierSku}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Operating system type that the gallery image uses [Windows, Linux] - ${OSType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # This is the version of the gallery image. - ${VersionName}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMMarketplaceGalleryImage_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a network interface. -Please note some properties can be set only during network interface creation. -.Description -The operation to Create a network interface. -Please note some properties can be set only during network interface creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -IPCONFIGURATION : IPConfigurations - A list of IPConfigurations of the network interface. - [IPAddress ]: PrivateIPAddress - Private IP address of the IP configuration. - [Name ]: Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. - [SubnetId ]: ID - The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmnetworkinterface -#> -function Set-AzStackHCIVMNetworkInterface { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkInterfaces])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('NetworkInterfaceName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the network interface - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String[]] - # List of DNS server IP Addresses for the interface - ${DnsSettingDnsServer}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${ExtendedLocationName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of the extended location. - ${ExtendedLocationType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IIPConfiguration[]] - # IPConfigurations - A list of IPConfigurations of the network interface. - # To construct, see NOTES section for IPCONFIGURATION properties and create a hash table. - ${IPConfiguration}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # MacAddress - The MAC address of the network interface. - ${MacAddress}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMNetworkInterface_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMNetworkInterface_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMNetworkInterface_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a storage container. -Please note some properties can be set only during storage container creation. -.Description -The operation to Create a storage container. -Please note some properties can be set only during storage container creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmstoragecontainer -#> -function Set-AzStackHCIVMStorageContainer { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainers])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('StorageContainerName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the storage container - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${ExtendedLocationName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of the extended location. - ${ExtendedLocationType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of the storage container on the disk - ${Path}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMStorageContainer_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMStorageContainer_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMStorageContainer_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a virtual hard disk. -Please note some properties can be set only during virtual hard disk creation. -.Description -The operation to Create a virtual hard disk. -Please note some properties can be set only during virtual hard disk creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmvirtualharddisk -#> -function Set-AzStackHCIVMVirtualHardDisk { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualHardDisks])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Alias('VirtualHardDiskName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the virtual hard disk - ${Name}, - - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The geo-location where the resource lives - ${Location}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # . - ${BlockSizeByte}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Storage ContainerID of the storage container to be used for VHD - ${ContainerId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("vhdx", "vhd")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The format of the actual VHD file [vhd, vhdx] - ${DiskFileFormat}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # Size of the disk in GB - ${DiskSizeGb}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Boolean for enabling dynamic sizing on the virtual hard disk - ${Dynamic}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${ExtendedLocationName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of the extended location. - ${ExtendedLocationType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("V1", "V2")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The hypervisor generation of the Virtual Machine [V1, V2] - ${HyperVGeneration}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # . - ${LogicalSectorByte}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # . - ${PhysicalSectorByte}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ITrackedResourceTags]))] - [System.Collections.Hashtable] - # Resource tags. - ${Tag}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualHardDisk_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualHardDisk_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualHardDisk_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Create a virtual machine instance. -Please note some properties can be set only during virtual machine instance creation. -.Description -The operation to Create a virtual machine instance. -Please note some properties can be set only during virtual machine instance creation. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -LINUXCONFIGURATIONSSHPUBLICKEY : The list of SSH public keys used to authenticate with linux based VMs. - [KeyData ]: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). - [Path ]: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys - -NETWORKPROFILENETWORKINTERFACE : NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - [Id ]: ID - Resource Id of the network interface - -STORAGEPROFILEDATADISK : adds data disks to the virtual machine instance - [Id ]: Resource ID of the data disk - -WINDOWSCONFIGURATIONSSHPUBLICKEY : The list of SSH public keys used to authenticate with linux based VMs. - [KeyData ]: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). - [Path ]: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/set-azstackhcivmvirtualmachineinstance -#> -function Set-AzStackHCIVMVirtualMachineInstance { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. - # This only applies to virtual systems with dynamic memory enabled. - # This property can be in the range of 5 to 2000. - ${DynamicMemoryConfigTargetMemoryBuffer}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # . - ${DynamicMemoryMaximumMemoryInMb}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # . - ${DynamicMemoryMinimumMemoryInMb}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extended location. - ${ExtendedLocationName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("CustomLocation")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The type of the extended location. - ${ExtendedLocationType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # RAM in MB for the virtual machine instance - ${HardwareProfileMemoryMb}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # number of processors for the virtual machine instance - ${HardwareProfileProcessor}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # . - ${HardwareProfileVMSize}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The HTTP proxy server endpoint to use. - ${HttpProxyConfigHttpProxy}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The HTTPS proxy server endpoint to use. - ${HttpProxyConfigHttpsProxy}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String[]] - # The endpoints that should not go through proxy. - ${HttpProxyConfigNoProxy}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Alternative CA cert to use for connecting to proxy servers. - ${HttpProxyConfigTrustedCa}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The identity type. - ${IdentityType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Resource ID of the image - ${ImageReferenceId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # DisablePasswordAuthentication - whether password authentication should be disabled - ${LinuxConfigurationDisablePasswordAuthentication}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. - ${LinuxConfigurationProvisionVMAgent}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - ${LinuxConfigurationProvisionVMConfigAgent}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[]] - # The list of SSH public keys used to authenticate with linux based VMs. - # To construct, see NOTES section for LINUXCONFIGURATIONSSHPUBLICKEY properties and create a hash table. - ${LinuxConfigurationSshPublicKey}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesNetworkProfileNetworkInterfacesItem[]] - # NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - # To construct, see NOTES section for NETWORKPROFILENETWORKINTERFACE properties and create a hash table. - ${NetworkProfileNetworkInterface}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Resource ID of the OS disk - ${OSDiskId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Windows", "Linux")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. - # Possible values are: **Windows,** **Linux.** - ${OSDiskOstype}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # AdminPassword - admin password - ${OSProfileAdminPassword}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # AdminUsername - admin username - ${OSProfileAdminUsername}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # ComputerName - name of the compute - ${OSProfileComputerName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Unique identifier defined by ARC to identify the guest of the VM. - ${ResourceUid}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # . - ${SecurityProfileEnableTpm}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("TrustedLaunch", "ConfidentialVM")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the SecurityType of the virtual machine. - # EnableTPM and SecureBootEnabled must be set to true for SecurityType to function. - ${SecurityProfileSecurityType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstancePropertiesStorageProfileDataDisksItem[]] - # adds data disks to the virtual machine instance - # To construct, see NOTES section for STORAGEPROFILEDATADISK properties and create a hash table. - ${StorageProfileDataDisk}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Id of the storage container that hosts the VM configuration file - ${StorageProfileVMConfigStoragePathId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Specifies whether secure boot should be enabled on the virtual machine instance. - ${UefiSettingSecureBootEnabled}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Whether to EnableAutomaticUpdates on the machine - ${WindowConfigurationEnableAutomaticUpdate}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. - ${WindowConfigurationProvisionVMAgent}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - ${WindowConfigurationProvisionVMConfigAgent}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # TimeZone for the virtual machine instance - ${WindowConfigurationTimeZone}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.ISshPublicKey[]] - # The list of SSH public keys used to authenticate with linux based VMs. - # To construct, see NOTES section for WINDOWSCONFIGURATIONSSHPUBLICKEY properties and create a hash table. - ${WindowsConfigurationSshPublicKey}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualMachineInstance_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualMachineInstance_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Set-AzStackHCIVMVirtualMachineInstance_UpdateViaJsonString'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to start a virtual machine instance. -.Description -The operation to start a virtual machine instance. -.Example -Start-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" - - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/start-azstackhcivmvirtualmachine -#> -function Start-AzStackHCIVMVirtualMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] -[CmdletBinding(DefaultParameterSetName='Start', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Start = 'Az.StackHCIVM.private\Start-AzStackHCIVMVirtualMachine_Start'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to stop a virtual machine instance. -.Description -The operation to stop a virtual machine instance. -.Example -Stop-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" - - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/stop-azstackhcivmvirtualmachine -#> -function Stop-AzStackHCIVMVirtualMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] -[CmdletBinding(DefaultParameterSetName='Stop', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Stop = 'Az.StackHCIVM.private\Stop-AzStackHCIVMVirtualMachine_Stop'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Upgrade Machine Extensions. -.Description -The operation to Upgrade Machine Extensions. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -System.Boolean -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -EXTENSIONUPGRADEPARAMETER : Describes the Machine Extension Upgrade Properties. - [ExtensionTarget ]: Describes the Extension Target Properties. - [(Any) ]: This indicates any property can be added to this object. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmextension -#> -function Update-AzStackHCIVMExtension { -[OutputType([System.Boolean])] -[CmdletBinding(DefaultParameterSetName='UpgradeExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='Upgrade', Mandatory)] - [Parameter(ParameterSetName='UpgradeExpanded', Mandatory)] - [Parameter(ParameterSetName='UpgradeViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpgradeViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the hybrid machine. - ${MachineName}, - - [Parameter(ParameterSetName='Upgrade', Mandatory)] - [Parameter(ParameterSetName='UpgradeExpanded', Mandatory)] - [Parameter(ParameterSetName='UpgradeViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpgradeViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='Upgrade')] - [Parameter(ParameterSetName='UpgradeExpanded')] - [Parameter(ParameterSetName='UpgradeViaJsonFilePath')] - [Parameter(ParameterSetName='UpgradeViaJsonString')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpgradeViaIdentity', Mandatory, ValueFromPipeline)] - [Parameter(ParameterSetName='UpgradeViaIdentityExpanded', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter(ParameterSetName='Upgrade', Mandatory, ValueFromPipeline)] - [Parameter(ParameterSetName='UpgradeViaIdentity', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpgrade] - # Describes the Machine Extension Upgrade Properties. - # To construct, see NOTES section for EXTENSIONUPGRADEPARAMETER properties and create a hash table. - ${ExtensionUpgradeParameter}, - - [Parameter(ParameterSetName='UpgradeExpanded')] - [Parameter(ParameterSetName='UpgradeViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IExtensionTarget]))] - [System.Collections.Hashtable] - # Describes the Extension Target Properties. - ${ExtensionTarget}, - - [Parameter(ParameterSetName='UpgradeViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Upgrade operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpgradeViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Upgrade operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Returns true when the command succeeds - ${PassThru}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - Upgrade = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_Upgrade'; - UpgradeExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeExpanded'; - UpgradeViaIdentity = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeViaIdentity'; - UpgradeViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeViaIdentityExpanded'; - UpgradeViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeViaJsonFilePath'; - UpgradeViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMExtension_UpgradeViaJsonString'; - } - if (('Upgrade', 'UpgradeExpanded', 'UpgradeViaJsonFilePath', 'UpgradeViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to update a gallery image. -.Description -The operation to update a gallery image. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmgalleryimage -#> -function Update-AzStackHCIVMGalleryImage { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImages])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Alias('GalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the gallery image - ${Name}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaJsonFilePath')] - [Parameter(ParameterSetName='UpdateViaJsonString')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGalleryImagesUpdateRequestTags]))] - [System.Collections.Hashtable] - # Resource tags - ${Tag}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMGalleryImage_UpdateExpanded'; - UpdateViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMGalleryImage_UpdateViaIdentityExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMGalleryImage_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMGalleryImage_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -Create GuestAgent. -.Description -Create GuestAgent. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmguestagent -#> -function Update-AzStackHCIVMGuestAgent { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IGuestAgent])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The password to connect with the guest. - ${CredentialsPassword}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The username to connect with the guest. - ${CredentialsUsername}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("install", "uninstall", "repair")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The guest agent provisioning action. - ${ProvisioningAction}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMGuestAgent_UpdateExpanded'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to Update the extension. -.Description -The operation to Update the extension. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -EXTENSIONPARAMETER : Describes a Machine Extension Update. - [Tag ]: Resource tags - [(Any) ]: This indicates any property can be added to this object. - [AutoUpgradeMinorVersion ]: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - [EnableAutomaticUpgrade ]: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - [ForceUpdateTag ]: How the extension handler should be forced to update even if the extension configuration has not changed. - [ProtectedSetting ]: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - [(Any) ]: This indicates any property can be added to this object. - [Publisher ]: The name of the extension handler publisher. - [Setting ]: Json formatted public settings for the extension. - [(Any) ]: This indicates any property can be added to this object. - [Type ]: Specifies the type of the extension; an example is "CustomScriptExtension". - [TypeHandlerVersion ]: Specifies the version of the script handler. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk - -MACHINEINPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmmachineextension -#> -function Update-AzStackHCIVMMachineExtension { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtension])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaIdentityMachine', Mandatory)] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine extension. - ${ExtensionName}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the machine where the extension should be created or updated. - ${MachineName}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaJsonFilePath')] - [Parameter(ParameterSetName='UpdateViaJsonString')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter(ParameterSetName='UpdateViaIdentityMachine', Mandatory, ValueFromPipeline)] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for MACHINEINPUTOBJECT properties and create a hash table. - ${MachineInputObject}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Indicates whether the extension should use a newer minor version if one is available at deployment time. - # Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - ${AutoUpgradeMinorVersion}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - ${EnableAutomaticUpgrade}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # How the extension handler should be forced to update even if the extension configuration has not changed. - ${ForceUpdateTag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdatePropertiesProtectedSettings]))] - [System.Collections.Hashtable] - # The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - ${ProtectedSetting}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The name of the extension handler publisher. - ${Publisher}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdatePropertiesSettings]))] - [System.Collections.Hashtable] - # Json formatted public settings for the extension. - ${Setting}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IResourceUpdateTags]))] - [System.Collections.Hashtable] - # Resource tags - ${Tag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the type of the extension; an example is "CustomScriptExtension". - ${Type}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityMachineExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the version of the script handler. - ${TypeHandlerVersion}, - - [Parameter(ParameterSetName='UpdateViaIdentityMachine', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachineExtensionUpdate] - # Describes a Machine Extension Update. - # To construct, see NOTES section for EXTENSIONPARAMETER properties and create a hash table. - ${ExtensionParameter}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateExpanded'; - UpdateViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaIdentityExpanded'; - UpdateViaIdentityMachine = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaIdentityMachine'; - UpdateViaIdentityMachineExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaIdentityMachineExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachineExtension_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to update a hybrid machine. -.Description -The operation to update a hybrid machine. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmmachine -#> -function Update-AzStackHCIVMMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMachine])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Alias('MachineName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the hybrid machine. - ${Name}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaJsonFilePath')] - [Parameter(ParameterSetName='UpdateViaJsonString')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The correlation ID passed in from RSM per upgrade. - ${AgentUpgradeCorrelationId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the version info w.r.t AgentUpgrade for the machine. - ${AgentUpgradeDesiredVersion}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Specifies if RSM should try to upgrade this machine - ${AgentUpgradeEnableAutomaticUpgrade}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The identity type. - ${IdentityType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("AVS", "HCI", "SCVMM", "VMware")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - ${Kind}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the assessment mode. - ${LinuxConfigurationPatchSettingsAssessmentMode}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the patch mode. - ${LinuxConfigurationPatchSettingsPatchMode}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The city or locality where the resource is located. - ${LocationDataCity}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The country or region where the resource is located - ${LocationDataCountryOrRegion}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The district, state, or province where the resource is located. - ${LocationDataDistrict}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # A canonical name for the geographic or physical location. - ${LocationDataName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - ${ParentClusterResourceId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The resource id of the private link scope this machine is assigned to, if any. - ${PrivateLinkScopeResourceId}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IResourceUpdateTags]))] - [System.Collections.Hashtable] - # Resource tags - ${Tag}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the assessment mode. - ${WindowsConfigurationPatchSettingsAssessmentMode}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("ImageDefault", "AutomaticByPlatform", "AutomaticByOS", "Manual")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Specifies the patch mode. - ${WindowsConfigurationPatchSettingsPatchMode}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachine_UpdateExpanded'; - UpdateViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachine_UpdateViaIdentityExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachine_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMMachine_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to update a marketplace gallery image. -.Description -The operation to update a marketplace gallery image. -.Example -{{ Add code here }} -.Example -{{ Add code here }} - -.Inputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -INPUTOBJECT : Identity Parameter - [ExtensionName ]: The name of the machine extension. - [ExtensionType ]: The extensionType of the Extension being received. - [GalleryImageName ]: Name of the gallery image - [Id ]: Resource identity path - [Location ]: The location of the Extension being received. - [LogicalNetworkName ]: Name of the logical network - [MachineName ]: The name of the hybrid machine. - [MarketplaceGalleryImageName ]: Name of the marketplace gallery image - [MetadataName ]: Name of the HybridIdentityMetadata. - [NetworkInterfaceName ]: Name of the network interface - [OSType ]: Defines the os type. - [Publisher ]: The publisher of the Extension being received. - [ResourceGroupName ]: The name of the resource group. The name is case insensitive. - [ResourceUri ]: The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - [StorageContainerName ]: Name of the storage container - [SubscriptionId ]: The ID of the target subscription. - [Version ]: The version of the Extension being received. - [VirtualHardDiskName ]: Name of the virtual hard disk -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmmarketplacegalleryimage -#> -function Update-AzStackHCIVMMarketplaceGalleryImage { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImages])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Alias('MarketplaceGalleryImageName')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # Name of the marketplace gallery image - ${Name}, - - [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The name of the resource group. - # The name is case insensitive. - ${ResourceGroupName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaJsonFilePath')] - [Parameter(ParameterSetName='UpdateViaJsonString')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] - [System.String] - # The ID of the target subscription. - ${SubscriptionId}, - - [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStackHcivmIdentity] - # Identity Parameter - # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. - ${InputObject}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IMarketplaceGalleryImagesUpdateRequestTags]))] - [System.Collections.Hashtable] - # Resource tags - ${Tag}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMarketplaceGalleryImage_UpdateExpanded'; - UpdateViaIdentityExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMMarketplaceGalleryImage_UpdateViaIdentityExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMMarketplaceGalleryImage_UpdateViaJsonString'; - } - if (('UpdateExpanded', 'UpdateViaJsonFilePath', 'UpdateViaJsonString') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId') ) { - $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} - -<# -.Synopsis -The operation to update a virtual machine instance. -.Description -The operation to update a virtual machine instance. -.Example -Update-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" -VmMemoryInMB "4" - -.Outputs -Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance -.Notes -COMPLEX PARAMETER PROPERTIES - -To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. - -NETWORKPROFILENETWORKINTERFACE : NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - [Id ]: ID - Resource ID of the network interface - -STORAGEPROFILEDATADISK : adds data disks to the virtual machine instance for the update call - [Id ]: -.Link -https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmvirtualmachine -#> -function Update-AzStackHCIVMVirtualMachine { -[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVirtualMachineInstance])] -[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] -param( - [Parameter(Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] - [System.String] - # The fully qualified Azure Resource manager identifier of the Hybrid Compute machine resource to be extended. - ${ResourceUri}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int64] - # RAM in MB for the virtual machine instance - ${HardwareProfileMemoryMb}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Int32] - # number of processors for the virtual machine instance - ${HardwareProfileProcessor}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("Default", "Standard_A2_v2", "Standard_A4_v2", "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_D32s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS13_v2", "Standard_K8S_v1", "Standard_K8S2_v1", "Standard_K8S3_v1", "Standard_K8S4_v1", "Standard_NK6", "Standard_NK12", "Standard_NV6", "Standard_NV12", "Standard_K8S5_v1", "Custom")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # . - ${HardwareProfileVMSize}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.PSArgumentCompleterAttribute("SystemAssigned")] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # The identity type. - ${IdentityType}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. - ${LinuxConfigurationProvisionVMAgent}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - ${LinuxConfigurationProvisionVMConfigAgent}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.INetworkProfileUpdateNetworkInterfacesItem[]] - # NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance - # To construct, see NOTES section for NETWORKPROFILENETWORKINTERFACE properties and create a hash table. - ${NetworkProfileNetworkInterface}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # ComputerName - name of the computer - ${OSProfileComputerName}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [AllowEmptyCollection()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageProfileUpdateDataDisksItem[]] - # adds data disks to the virtual machine instance for the update call - # To construct, see NOTES section for STORAGEPROFILEDATADISK properties and create a hash table. - ${StorageProfileDataDisk}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. - ${WindowConfigurationProvisionVMAgent}, - - [Parameter(ParameterSetName='UpdateExpanded')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.Management.Automation.SwitchParameter] - # Used to indicate whether the VM Config Agent should be installed during the virtual machine creation process. - ${WindowConfigurationProvisionVMConfigAgent}, - - [Parameter(ParameterSetName='UpdateViaJsonFilePath', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Path of Json file supplied to the Update operation - ${JsonFilePath}, - - [Parameter(ParameterSetName='UpdateViaJsonString', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] - [System.String] - # Json string supplied to the Update operation - ${JsonString}, - - [Parameter()] - [Alias('AzureRMContext', 'AzureCredential')] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Azure')] - [System.Management.Automation.PSObject] - # The DefaultProfile parameter is not functional. - # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. - ${DefaultProfile}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command as a job - ${AsJob}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Wait for .NET debugger to attach - ${Break}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be appended to the front of the pipeline - ${HttpPipelineAppend}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] - # SendAsync Pipeline Steps to be prepended to the front of the pipeline - ${HttpPipelinePrepend}, - - [Parameter()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Run the command asynchronously - ${NoWait}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Uri] - # The URI for the proxy server to use - ${Proxy}, - - [Parameter(DontShow)] - [ValidateNotNull()] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.PSCredential] - # Credentials for a proxy server to use for the remote call - ${ProxyCredential}, - - [Parameter(DontShow)] - [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] - [System.Management.Automation.SwitchParameter] - # Use the default credentials for the proxy - ${ProxyUseDefaultCredentials} -) - -begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - $parameterSet = $PSCmdlet.ParameterSetName - - $mapping = @{ - UpdateExpanded = 'Az.StackHCIVM.private\Update-AzStackHCIVMVirtualMachine_UpdateExpanded'; - UpdateViaJsonFilePath = 'Az.StackHCIVM.private\Update-AzStackHCIVMVirtualMachine_UpdateViaJsonFilePath'; - UpdateViaJsonString = 'Az.StackHCIVM.private\Update-AzStackHCIVMVirtualMachine_UpdateViaJsonString'; - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) - $scriptCmd = {& $wrappedCmd @PSBoundParameters} - $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) - $steppablePipeline.Begin($PSCmdlet) - } catch { - - throw - } -} - -process { - try { - $steppablePipeline.Process($_) - } catch { - - throw - } - -} -end { - try { - $steppablePipeline.End() - - } catch { - - throw - } -} -} diff --git a/azstackhci-powershell/internal/README.md b/azstackhci-powershell/internal/README.md deleted file mode 100644 index 26cf0d38057d..000000000000 --- a/azstackhci-powershell/internal/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Internal -This directory contains a module to handle *internal only* cmdlets. Cmdlets that you **hide** in configuration are created here. For more information on hiding, see [cmdlet hiding](https://github.com/Azure/autorest.powershell/blob/main/docs/directives.md#cmdlet-hiding-exportation-suppression). The cmdlets in this directory are generated at **build-time**. Do not put any custom code, files, cmdlets, etc. into this directory. Please use `..\custom` for all custom implementation. - -## Info -- Modifiable: no -- Generated: all -- Committed: no -- Packaged: yes - -## Details -The `Az.StackHCIVM.internal.psm1` file is generated to this folder. This module file handles the hidden cmdlets. These cmdlets will not be exported by `Az.StackHCIVM`. Instead, this sub-module is imported by the `..\custom\Az.StackHCIVM.custom.psm1` module, allowing you to use hidden cmdlets in your custom, exposed cmdlets. To call these cmdlets in your custom scripts, simply use [module-qualified calls](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6#qualified-names). For example, `Az.StackHCIVM.internal\Get-Example` would call an internal cmdlet named `Get-Example`. - -## Purpose -This allows you to include REST specifications for services that you *do not wish to expose from your module*, but simply want to call within custom cmdlets. For example, if you want to make a custom cmdlet that uses `Storage` services, you could include a simplified `Storage` REST specification that has only the operations you need. When you run the generator and build this module, note the generated `Storage` cmdlets. Then, in your readme configuration, use [cmdlet hiding](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md#cmdlet-hiding-exportation-suppression) on the `Storage` cmdlets and they will *only be exposed to the custom cmdlets* you want to write, and not be exported as part of `Az.StackHCIVM`. diff --git a/azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.dll b/azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.dll deleted file mode 100644 index 5cd24baa32062de4e3aea6b64232f5d60b2d0bc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5596160 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⁡wYA;Eh> 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 z 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%0AP^+bO83a~Q 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 z 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

    ?z?I5LVFwR<|9sw6xbQ^MkY**d1s5 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

    EH`sB{BqFEz2D>eY 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ΜM=1Zyv8A8JXu+TK8$r zrSaD+Zl!gf=3E;8$i1-AUKVGb^4E@)_OiGl%Y*0oPev|}tFz3r;;!rRxH*Z8e2ch{ z#3!YLov#-0U=m5n74ei=^jhiX1uf&9vz_?Q3%c1}1@S=^mz17Xu8i}Z_HA5J`deuo zS0It3Tosp}5g*l^}u{ zY?rpd42ocOu1VWqc0@2c?b9}x9TB9UL)r!@5W%%~OxxhvMR4ucrfqQTBDnTWX&YR- z2(GCyj<^Dg z%h%&p2EMbKt&+6!$4$MyNh zn6Dvma}t@aq4D6?{i|b785R#^!F=5lk0O~$^Yyg7();4~m-$|puaWUO5}B_D;_W2% z_qzF0;0NMeEZ)`|O*DUVcsr$@#O#B0jdw1&EjER3Ikt07CXO{c9aDPwqoIRfh zPt;&v;1FE^*J*j^9Cy;}Oze;^$c0v!=gEUim-0=EloOe3rM`*P0veBawNZ7uWf~y}Hc%v++a{zgK={ zdp#G=XL0ks&&u=hDi$~IKUjGo-b^C%z95c2{NH(hF&<1J^ZrsikwoVGrF7(Rr6Rae z5wuyD_ClM5@tb^P%-5oL4T;RxEAf$y|2to=#z$E&U$4cvn_QczG+&48mA(*PRdzU$zX*FTKAQ!< zaJ4qRh{XRz*ik!TAH>bQ&~KIJ4YGgd689$Y)#Cm}Y+XE`kAq(?-w^NSUT*z4+4kBL zA7OEISjo!fxZKBnc3d4sR<^{3MCx#B-0olE)}L+hXcDQz?eQ!Usl)B@hb*X{?eTUJ zsh=Hj-Y#DW$ot3fi7cp}PvY_|B32X@yjf4*uNffpRjxtuVAUcpZM&HH?iExpZM&HzhddepZI(o z|He{@Kk@lG&fiP(p8oY~aeOih{!X(vuEc^TLf^zSNc`s@?t50>#BEsIvmJMa-^86r z9amHztuw{hvO=zP+5_}|6zN&Ko+-}X8XuVQi4(#*;a@lF<3 zEd^G7jQ5jBwfq#<_}U%Wi>sD{alc|GQY}BnV@RZ0eoogP{2i+Z#zzF>^UHsFiJ+GV zdi|RA!gDqe_YBRA^P#j2##scH4?-l=HY`F3T+b=EL#H5|&Q<&4=TYbtLi)z`SHP$;dp6VO~<| zXR4MwjA34K5{aC1eo}$N*K;R(rTIxy-z%->6OxG}vJ0P>9N=DV^}EsbDwE{?;$CZN z#?^CgD<>sYSX@01v{E*yK_c~BF3J6s&M^JGf|HX^Nu-`nNe+=nJ)e@;7qb7}D}$>0 z{|V|)+F*Q6O^<`|5kZZWPurlz$|vfOuLRWCX-QQQsj)MXE=PPDti2VI>se4^m69GL zzQ%^x@lnZwzkDy$m`)aw$b3b~Qj$ISUo7#TfJe#aEUlONPr#$(Tb9|O|As)E9A#N( zE7LtEiIZ}F)5zyFw!KE#R3=GXmY4WANz#}^YAl-+lF0dFlP)B_en#4>$R?xwankxZ zE7|UkldgwVlbZjySNH4Tc-!mjqy>wspGU1!Pr9+V`gzhyjieum)XzCd>C6fCIIRumKj#uy>Q3mCzkkJ{|%gLlM-jRBNyj4wBp)an^a=Kcb_^XHAwd4U%t!!8m&E_ zPDx{yoX>MIpOLgWTbTkn!gV_DM2zj~MC1(rMi z@^|#tB`a9I%=LHl*Ckt6@I9HX$yY4+o=n%|FblpXbA6Iu!CmQ|e0)#l`s7R&d{3rZ zavlr5C(|uy#)9w3+>l(ug73-Pkn|*x@5yvehLQMpdTunjC$m}HI}kS--IM3JSK&?m zN^eY-v)p3E&Bcw$M=bcHuPE71BHv~yN}5#kGl;wOqNELpeCMPnxslu8J10fSKo)%G zq$rufg72K%l+0tncTR3f-eSRbPHs-Nu;4o%<2xrk zl5<$_os%BPWi0s4NzbGs3%+yGGr64w-zVvnj3kj<^h&1tHtE{ZE7?cl*Os5`T-=(J zuI$c7)|TGM01{bS`Xu{E{0?%&_PQ-O#^TnN5`*pEdL-qmxa0U=+c?3>?MX}`J4pYe zijmiHYs($UDX|k-TLvUGNMr{Ykgohlw+PZLf^-i|dm-H-sJc7THmEugRNbJo4Qfne zBCiP|1-vGR;G74i$H6&^;GBn~ZE(&a?)|(=(_LvBq)7zVH8gF5>k`3r4NKeLb8`_~ z>D_4?Jo~ykY0tBRb^e~D8;Pv*!;>jh-JHsvJ0h9Jf^~jmGK<8o^C#PCc_7($j_-wa zeoXQWiPZD>Itco?7Lk?hH@l=dpe za#0Px+Kf-Cuw?i+4<#{6m7o2uwmy{9Wa-C8emJSe^7t1e=(i&tPMWiv#%uV5q=4lf zUc)CO9a*;Y@VnK-q#Mf@J^gMqG3iZGoR7Jflnh`w%eHYl$fRT#iHy&rWDJQ6$b?>HEV+k}kEJ_;d%h*Q3b*7MJd`txQeEv$%H-wXIA`W|By{rzeMM zyW@Cq>3%F}Ro986dqz@3BI%xy))?kg1am5aITgY9h+up~{(IyJJnzy5ul0C(KK*&# zMeyn~(>6czyo=y`o=DpuJ0dv4C(|}{dii;OGI^NC2l;v`nNA}4nw_k_$c?Jx>*-_@ z3-UE5*-7H_Ro~9n{G>_~-wXMAF3}`XKQAU#N#r{WFD5lv@QM73$we&g6ZwnnkzYzK zW^td$7m&0hks~im+L8Fm>}cC8Ooow2WiCqMrtS=7-+4JP7d!Eld4uisYEqBIRc0?M zi<3eYSDANMc`fNiB9-}ia_nE?DsxFP{StR%sm!IxA`+?0rRnV8`w1c#4H1mS8)+|$ zh6s-HX4(eF5y5emrEPGWWyz;}hNz9@$vzUPjg?7-%l$0lJ@#8kWfs)N+eu8~YvV3E zV(%tB3Vbir#(T-FBr<~^CId)D=3&?SFnNpxyWWS%(6e#L$-b+dNX>tm93zpM|1_;Syl)Y~42oa|KTCUI21PKcyV5ooRS}Hp z=V=>^stBr11XU-3bN(Vd4$fHw=lo^b2Ink-bKae{!8wcIocE+{@IFceSFty3gS}vH zl5OkeLjL;xtE480Wcll)sDp2VEEgxYuprC(lYS&V%g@+KIFKyv;(H;>KO{>?q%wa_ zR*@9v|1-(Im-sn(pQSY4FaMluVVQl7&(|->CoC^narycs*-Iiv{xvy3;%okSdp^G= z<*#$+BQ<|0DI$@Y|1D|S)wS_8|EleEIO)jZYJRzuBS}9NSM%>$`6C%lA~pYKQu=y% zEm!kLlSfIU=8q){NTlYErL%+45W#4OU^MHaLz5j`L622FLj)*}-Rs zbv~2bO(L~XGF!gL&oXKwCwm49YNJ%vkoekIZ$~UYTh!C{LT#Loy@f<(@T6=%lH&Zf z)%^3!ld^+Zx><40Gf&EnU>W&#PG(bg`?NXxAj>2x*V+}iY<4nBqkDb*l*`UwX<^0H zPr2+fB=YJfXBUz9`q^gB`Q+?Q5~-h4veSFHtC0FRH9PoLC%%4m*>LuQpGsNV!2Wx$3`R@@BPN0o ztDN@2h>2jts-$f&Vj_60Gt)MBEfKtyO55PIMDSWVZG+d+*^PXqs6&(8Ng{O^W=r>X z<0J1yqik6g)M1jXK;rB0H#_pxvRwxGUZ}&fv)7YIC7he>K~kJQe7FBj;JMj;EDu|8 z^>c1^2+JOBb6$1?%Rz2)UUn=?H7o9a*{+$L%u?5i`yah)W*=v%f3jZ>&(A)?(!z>+ zt@E=BNaPG_WtWopT0Lg3t5$Y5iPUQC?191VN~KooWCz^k#Mf%6Atf^xWXH3(T0P0i zh1oeQu2#>mQZKuhL~8Y-?3$tOI8v+ivs;Eaky>q#-A^L5+8~`}jH(DmRRp8jFztm= z6~U-BO50#mMKG$3(>54Y5u8txv<=Qj1n1K!TDUAw!!&`;CwDg+u(dI$)0kz z8$;Qbn`NtzNX=iGEga$7VC}su+m;12-y++E#MivCGgy$FHQM(=&0m>)hD0i=O?ClE zaXy|ux5=(#nQ)P>%r@E0EMqT&>}AvmV# zIr|)odphT?v~%_q?uB=ZU9xLf8a(Y+wl3KnELT`@*WM+2kVKw!Uzff7L3drn`9(MT zk-si`Ez1BauGe+h{v`7ByK8n7x53lzuGy(9c>3Kn`x*@O^M`rR#i;#hx%c=~-q_DmK${k|dFkOfb_yJuUo;OTew>@6&K`h8<|2n(Km-(m7-GSc}kfwM}vw| z$Q(i`3UR|V4`sSCy=!=W&(r(9_rLr7{MJ5ut@R9Rt-beJ4Xr&3LA_pJ4I-Nmy+W>i zum@}4gF?_6FR})+HX&%Amso@L5rX#V$r`jz&r}ZeAVy8SQYQ?N4Dw2<$~fKcGHQA? zEdrV&BQzmxik z2-^9b)EXja=XX-shGZwtQ3iQ8b&^QcKNS%f zO&R39RBa;3d#vWYRC6M`RR-y#>i&M}Wg@SsUhZbd+eDBZ2BgLiL3S9BnnMKHVPNVz zBFGK{Q=5q(I}A$gA%g5MD0P+yvcuq1a+0knvcuq11w$k|3`tcp#AXLwiy^6ph-k~y zwHT6WL#1GKLsQ*}!0Lvk1{xx{U|4DoT?b#*4@;eQl|H^Rto(scDAT(fjMF)Wp3-(&vP`9Treed#1P2^Q#jhdmxaKWg}|4Ez{Z5Y#)P0%r}A&1RfQn(Ph$-t zzYyHv$E-o*7lM19&Kg91A*jU+)*vDY(UD*K*G$&Hzl5Ofvsi<=3qjpyvj%maohm(7 z_m0d9=AsYi$)s(+elXNZmJW7It_NKO0FmO@njGBv{xvED_g zPYsdhGK*3RiQoysqSP`X`U%2^>dN1w))LWA5M~+jvmtWjZ&N!Av0m_{(tMlB{7T=C zc){Y-Ttj3;^j&J^*IHw};CoeSNopw(?FFk9S(@5LM0>#|MV6%w7$RQqL#p3G`7OQP zvOHC3ktX5=D^fKK5ieN5y@Tf|LeLsQ&>Abb6k0H z-%^>&b*Y>rYVljDFcDpgKh>4Drb-dfwK!-3d35H$-e>S8CILh_;R0sjjQ^ zb;LHZQ~eAP+sNkLL7xgiYY0JW{Kciv8bWZLJ*>fXgy1@RS%d5BP0gb_gl+6gEi^=I zV}I(%kGfuB8wXOyiNH1vrE(3iwsDnev16$_HrZ0JjpM1>hDZ;dOf@j1Zx$l<$<#B3 zC}~*buF@!3+}R-GpVXX9GV53N!?0hb{o4^a5hz!$f~F8TEW>=6GL*6 z7~$up9wLIspPOn;1d%^C^&}CD=g+0O5y5!=T&kxb(yITa`Wa&VqN3`He^YY}5x+Q} z8v3)Ym&D8qsU5#)V*SEVr7opT5z&58O_9r~LR+jx`^Bw_B%Jbwh+pJ!7XPX>mT14o z>$KdeiTFi^)58$)iws8z)ZePY=yxILcOmF^A!t=0XjLI-RUv5AO#XGWst{OaKGt9? zAq4k)1#2*t5Q19dXAQ;@LQtHpr%RIV1_6JbuYjg)LjVbUXV4YdqL+z>K(*{ zLe5M>BqkJbc5K&uDlws`vx^8~LUHGSAvPw|QPxt*3A1e}#DvmL+7Pkca!w6HBqo$| zS{ouUp`7z95wvPK=S?DL!*b3DB51>M&Rj#Xlbz<-m~geTnaBj1Aztn5B$9E9_4o45 zaUz3hhFIRo_)FI!J6X8C)l_gw5$QuS#0rjQNKO)cQPH`c2>PO;a~lzi>#lL`B!Y3> zHBKW#qy z{PcRKpCRI>H#!Rs>)sJRt?qnF1b%w6v%(PTr=3;5-{xffZA-yVZ+8kBB6e8YDQQS{ zGUEp81+|^>L>^N_&vR=#E|KeNTTLCO8j-gZ(V9BW9fss2@1^V1b?Ou8MWyOGjfr5E zUDs(&1m`N&by^!DcX+4M$q?%)-BrErbcPxto>I@L|BtSzcuIYz-APTXr@X96-R<-u zqCMp;MecEi649PAK#>N{Btyhg8af?L>FbE6-0L`}H4#r~SYjToh)w#g>=~8Q_5RtyLFHLKw z6p>$VvrjbII2DNOS47)k8z)8N#e;Sf*Vc)NyrGEJv~_MFg7ab9Ikk!4eAsqQ10rqI zR~t8}w-Fw9nh|+Q5q*N&rHO*NraYJF;MB>h ziM7=!s??KC3nJQ9=P2@&)18R6)dh-la{3q|w%XZQk)f|6w%WzX%BP9g>eEgoL&R2} zW=lZJ3qi{ZLCbgLQfPT0X!&PYgO(S9mhZ+Iw7d|s{Ije<%L~ChcV`XmSqSd=Io9Bw zh2Wl_XASOI2=4g>*5ICn;GTQ12KU^&~_!wiNv94QIO{VwruNy@sf-_`l0A?$O z6xCO@_WXnTt$vPch}iSn&Ig8wJ-_30DrQURCt2%Mss2tMBHEs}DDs{&mWa0Jor=8g z%rr#od4N-_xW10q^FXJkA!5&ioS}w@JrClRM@@yGrb3_@%%z|i?0iF4Mt==)Rv04v zHO$E^Wm_I=al@VSM9^O&oy^jg(P6V6eTr@=Pd9ssL-quv_`jV@DYqC?#5V4ji&R#>rTBbVN zD%eumTJorMqK};uM6|UOP-ME3Rncm+wOpyl45y4CVl6YBlGkXBSj#M@NF`0gT4p=0 zA!04Fx!=*wLeS1a&|-7A6xv4!+D8bkJeN!1%0kdPpRlHSGuwkg@aywfgZ>hN`wiO{qvk2lsh>kYBv zjryw8kIr5q+T)rivd+0cM0?!BimZ1EMdqH(H{kjk-VM&&ScqOD`pIcjO%w6BjZOzc z#N#%yWx^7Kz!HSO5`Q>h1xS?%T2(1{GL<6IA!i(sg%ptvInxZW`Bb<3VP`E7wESV`XDWr3KjQ2qf|ftxTr@;lsrRRuzI4JIhx_iwVJR z<+28TDg?iNjy3QvA-JD^S%do#0{=SC8uYRd-17z2;GQoycT3=#jj?DVUz z+gbc8;l4`*{*~7qYKZkO{nY0QcS}QC3jUSf-D-$fR6%#QA@Y_^LH7WW;c1&w3c7#) zpHhX~3x-%b9Hf4$kXz+mu?@X1L}9mwA!3I`+}(!QoHAOKD(2=A(RTQeBE{Wejr4Ww zx7#xnDdAQ!MC|ZNx5s~o&M76`HHL^CmU4F+B6e8HRhLzNs|w?dRw1aV5NJwsDQHT& z1sdB{MSor8mNZ2AtE}6gnbly-U(Rhr1pQUsZElF|ulcH`mE5rp*;44Q%I*Y1q`#`V z(+tT;Rvc`{09D<&L{f_AF+f#!p&@;xsOquB@-)xHXA9MAvcM`-sd{MBk6=K0#y*UDx0iG2OC9q9$`6e7zM(boywIYh9E6}n##!75hhE;dA3HFDP& zV(odks#oNmFht^N>}Ivlts(ZDb~`+(iM8kTs?_yvZz9^Be^ulLcO(%VSN~MxMt7Pa zV$apx`YrW!B(C1%?rEio*z?Wq1w+K1Z)VGcB?y5f2thC3!lls5LNF!~f|eJ8maoCr zLCXt4%iqcxw7d}9^KGobJqv;L-p(3WuMpJh4%YllRwo2Ct;w4B32SviQ1@D_LEVL* z?zLHix(h+w>#zoOuj8g#>pqqDcIvv-43W4|&+YKI)gW%vcb_7HxN*1J-4Gi$_9=_H z*In?WErqzz$o<+7vGDucrH14r`|q>feV@C=knCh_CYy+iRz!Q#eeMn-A3ttOHFNh8 zIje})G;>cFl9N0}n)}^cL*&=*cQc>TcWC|Vh`Q(d-Ov#6uLs<@hKPSX==SeqOX+dT zX;tbWcM=ipUzZel*j-3O`&a(nc@vMgYYY+pYT-8Ttgj>f^{Bhk5b>|a+*5{#e?7)M zh!zuqnhN>8rVi#w=EIa#^Y`$ zL#%BSQLWL@o%@0<1>1Pioo|TrP8WBfA!@_C**30rahDQFDx!P2i@TP{#Zq=A{~*@je-YWDh`vr&_b?H7+%xV;BJj9p+zW=t9d>iGdgxkM`zfXB z)y=JDh}h4wZpjz5M(n4%TjwQPO50CGRqA=S1rcpOjv_C(-HB-XsisH|w~rxWKQFqy zd+O_m{k-J9)JqewpPueeL&Sc1axbG*g`ic1pjCTuDYU8(wCc;OL8}TutG>b-w5kx? z&#SD#{RqMR^kxn2M+olcHP+yMgy4Q&XASP>b@v-;G1&YY?g~T1=HGO4d+Tgj%D0e>* zoF+5MP4v^X$VuWfnbB?uA~;QEv>Oo7GpUa1%46IciRhVBcSG(V@*ySuL*AdcQvu&y0=xSiS8sKI&KVB z+49|nCuoFq>03hDQ*=*ByLP$Pl445fz=7YJ3>>r z6na?*`cw$|O9*;L2>L<@`a%f$VjBNC`a%f&>toiyzl5Ns(^-R>3PDY0um*2K2|?Xw zvIZ6|1g$ZPHL!3Ydbb2^;j>wzcT3PdC^H_tv5Q4s#&l>c_e77mt7$WVbZVN*s(thp^9HuQ(BJCIM5F&`QU%F!rv7?I* z)g3N!cZ{~B5NW@0cNro+_`Q3;5P7Qjy?cTPo}+#5p8G$gmbjT?^p&mWeyo0Li5nUs zp1ahYWQb(^Wp3B8wv^8J^HizjZa*U0bH7$(h5G>!?YT=8S?SI-L_BwuTXLMfj(F~B z_f!!3^|hC)zNA<(SlQqZh*zo#pszkYPr7$W_(-n}r^cT1BR9g!DwZ*;95b3XNZVN*s>uqzp5P?^2bNd-0Ck6lR&LV=d z>V9`W$8{>(i2aAVf(Xv4`@`Ky1ZUN4caIanS#{gptZDk5Wrb>oTaE}$-QD4aL~!cv z4!4dW*~yxe-*>tX5J^ye-|2QD(*9<9GVh=6AR_*)_GI2a-4BSIP$%mCq}p(oyNt-7 zU(|DILpBiUO8fupc6Sl!Py7Guc25$?f5FCx?b7I?rQ%Z9b2;9vP2%e*2aXt z+(TK2);Gj>-HpqZ_W0)1Bl>TvwiMFBKX#9pZggR zd~25DE+>L-&2rqWhRC|je)otW_DPm*vHfoG>AI%&NtSN0{cbr!WR!Bi4T&IzA8>0C zK@30OK0*XB{Gi*J2x9m_x1S;Mh1wx^J82NH54lH)AYvbKub5$N3=#XVTZRZC_F?yW zB8bLE+A(9;~bDYO$M+oAo5S;Is@YH41->SlhnL-dV^RNan zQwT;)d07Mh5&~}$0#6YFzYqd15CSg{f?m$xUq>$s!T2zfH5eZXL5t;M4O&bHPEEan zHONFl(5m@agH{!SR?T7!T2+XC>Z&7Kk~R9NtB!0!(DDUXgYl{m^hH6|Al3;%?-XJU zVx16-R|~TS<5eN((;}=v^b>+!F3K82KOq>e7Gn*@t3qHK#aRQ}5CYpM!5Y{`3GZ|A z9gKgj^cEW;4yMb$gyy*kTmDU5$Ac=ZgCXj9p1 zY>0ftR@rM#1m9a#_F5Cs-&p?_Et(z6`yncpA)bhPbEA(|FY6ae6 zLnLa2-WEe7YK7c8`1(u;T0;n0BjQqM4I#Kr%o+z&3938W>`2qo!)HTfKol*;25L+q@x$NDtQX#u}27#F>D# zyh%iGCSWaZ7LmSmGG=Y>Ga@(>u(r3@5Va5Rm3E|8$IB*Cva}uP)$vXkVo$WxGsL=H zsg0%wvvicuGsL=HMMH9uh!S^t)rcTU-03wW@?LCLW$Sq@iQr7YdR`Ahq^9+~K89FZ zt*_drzBkhlvDLf0R-5$wh^^l3)!3|wwbdr7R0FRW5pAmvE7H*GL`2(aTSe~mdKn_N z+Q^&xv#BYc57OA%`HLoEt4+L9hKQ{;VQWF}2tn@%LGLu>Qs^BaXw~~zgH{!SR&B-_ zw5kx?&;6{y{RqMRJir>+hKM~s<7Mua-_ma^bn^xoBKG{OH_Z^S z=V!Thepfry=yhWuXbmA~jqY3utsw;0d5$%>ju2eudDh@M&wD@79U}I=;B7NRY~w|* z&_3JCu#K0zqC{XDy}UApSlbw)TCBI%>X0o3+jz}uYl!sVn_eeF>}iA7J*#%1@dgpm zGY-#?(f_B^Tizr?Y`>3Izx9^4#t`ZEzFwKb`q!o3`*}SKvHkv$D)o*xkcjU0nTovY zO(UZF{WC@SdkYMaet*x)I`Y5!{e7>MA=2*yydH)~zYpM+*K;dfQz59S5NHN+DQE_I zAJUc4UxU1vhDd)6@phc}-~Bbz+eHNZHQYO3i0!Y1s-~m8@XY`2uQ6WQ5b3W8UXA}p zniwLd4NmYLB7)NfCwT3N;IzRB-m^q-+TaAQw;^)c-~{h|A~~%P+YbvJ=PVo}Cn#gH`Q@tWYaN6KBuYw`=w815+#io0% zCFZoj^@_~!ni*oPMV~e}(;GsM_?g$w5V6D0ym>@mKc9IE4H5hK!aH)&S_1rifp?q; z?B^>l*AQzz$J8Buh>Us^WC4+-ui2eBmw2m)+miMf7v4rCuE(ZKvl+R8qaO%zJ>y zJBoa->b1;!j!3Jj_Bua!eTg*NW^3_-H;PDnvmNRE;LRY?wjW9@B7&0$e(=^2xoRp( z?IaQ?qVMnr?+g)Vn7z(&FDsv|*VS9qyBVramwV-iWQ2CTcexi5`KJU*)gtoeHPAF8 zf>RHcd+mw5rQRzzZ?4>f$WTSDcwPV2AR;Sk+3T$EJ|ePD5q-}qyoE#-6t?wR>HSD# zqas?f(%VC%Y7u*ftGv@h^3}FiUghP#!qzlaM3-9SRU&eTuDsg2fk=@e_R6chMnv!? z;To@}aY-yN^@b`o)hSljr~ z+ef6DBDxkoddG<1EQxhqBEPL^@RcpK&MQHrwIaIIIxisd!vd>W@6{x7ToJ8V?>$Te z>+>7DPDHRizrpKGqy)Wl@{>21h(qt3{N&9bQdRZ49{+6g77@8i5&c^my`PC>*R#F6 z$=gfhUq!TLlXsEG;!?IxH+x01Y)v;SqBWa6*O2UFWr{XGd$$qUporG|>@_7)`+GQRMAgs zws|)YxzO82zu&$3M2@L=sNZw=-D^Rl??D?6|M0pHX{{op*8JhUPGn1#?XT_LP$Dx` z%+$ZN-J3?F#mqd3YgCKv@V-K+S$Psw4f&DC^y}<(c6vLAyrZI@zRphX1d;i_*?Rry zsA}<-H=f8+JRZCDJ;u_Poz4RM6J_N)>zcb@q9ch%}?vo8#R;ilJlgLY-+dUf(c?XG{q8&L7d*_L~al7r)!(P!swx+qXBgYZ1GLfenSj`dd zCL*8iu;(rv_3k0EeWyJg>8RI|NSlwsIu|VELJ3}@Q=~}|}*WcbQB4w_$?fkcQlE}y-c@j^l zQvZ1Q3fr1~eLPR%8AHkvX;jr-=cE@9Ih?ZBIqB6V@?Fb}L=RQ!ly^Uo?rk#?uNcyi zNKV6y#G8to_IeVT)g&YFt|0@6EFErr=ZrUzNS6`Tcg}d95vgC!_WN0HIgvAp=zc%z zZ6lI@je2uNT{+jgNMzc^%*04Tl0|Gy7qqhVI_F(YWK&05uXA3S$n{h6Bqpd*|9ZC& z*{8^KL+TOf{c}d*b4AX34-vWTmyEwd}GPNXWGu65ZvO5}#l)>bcjd5YS)@A%N# zVZy(XNU_P*4immZ1kZf)__q?lGv7RZ6C!x#o7Znk1kZf)`Y#Z{Gv5sVZ6bK)o8gZm zf@i*&{v0BB=9}p+F(fD1tDTL#`TWg91}dWKp3gr-1aAOd;a?z<9+4-pUbXWTevx9j z?m5W^6xnKsL!_|s3!U-v`?nI=tSsD;Mnu{vJG7)Vk>9FA^DL2UMfCmT_xlq$K(?CY zk0;Wtnyp2aKbOe+is({V{z@VxNt5)q61kByN&kc)_IbCq@B)6R;<{e;dAGLk0)9n9 zw^9e(qK)dpg-9VdA?lG|AI7lzFg2>Nd(WA3;KJB;Q4YP z{|pg4UoPYqEn)it&zB4Pm5Jc_a$)~AB6z-B#BWRl&zFn%PZPoO<)Z#;MDTpMs6Uzr zo-Y^kXA;5lrqEksdD~qB6=O*v?5pgxkU6jz$Hb> z`&n1XmG#%S75pl`5WNmi(XUxk6Ilni#&2$jtOH!*D}nl3RTwjIA()8^!Ax8TX5vCH z6BmM+xDd?5g#UDjYuEd+CFA(&GO!JOLT>tIeT1aoSi zHJDQi!JJwM=F|a~!kk(N=F1^#Fkcpe`EtY>%$J2=z8td#^JO8JFQ-|9`LYm<0jjYE zV*nw@_}8-r`CSO|yAb4eA;|ASkl%$Mzu&;Wh5RlA`CSO|`;A-*`CSO!=%~&bWUC# z&!((dM5`-8kWcSp&7>>sZwWz$ZN{46mF%oU2y*WItihSTLXd?YU=6ac5M<#8S%WMr z1X;K_YmkM7APYalnjW;0BLsQ*Vb&lo3qf9fgf+;^LaJ)j+GK-MtZNX1|vNo80o#r8l1N-q|YQ9H+r*X!4w-egkXI5 z8f!2<6oT>L>#V`}@OA%nn&aci{u_ROL*&W+oBraudSyV~qI}C=LIh9t`}u1Ou}}8% zy`kQL@eAE!OX11>dwx+vWL0F4U&fG}OC2~5;(*kNTjzSdfjG-|1nCX?b^;z|7#*|`?l0je=U*mis({9{lAD@ zU)O4e`KO57t%%kP^9wi7HO)!ZQ1`5VeYk%Ok(P>R&2Ya45j+VU;onOHPeModZ4Ajy zem^=hQAoAnNWVLgHe)jrB@F3DB;T!S%~O$4{%9iG6}iTcxkQ$(%}k^e8SQT-(t2}d zA~a+tkz%cFy~g;*iG)wudX4cj8tQswC$ZW*)-Oc_tIcD5j|f(q$N9Gt!D{n3|2`sE zZ65DGP6VsXC5s8x4^a>FItpX|N(a-9JeLE7H^b5{+%Wup&LfuR;VX(lh*;M6e<~ z)4z`hR-|Y8orqvXdY1nR5v)kh^2ZUuiu7!M4iT(K&-Pak!HV=8|2HC7k)GopCxR8} zxqhA|wiZ~Cp6iz*f)(jc{E$ciiV~mrwTM)vDDjE^h#?Xo=lNZ&hS!bf`3nuP>&7=K z>z(iKHbmZI{M2vI)Z7oR8-M06G{mkO-=Ru<;cp_M*NyK|WPyKxh+a2ts>qjqt|9XN z*jIkLhxL^$(d))v`)gWjBJ0Kr{oRJhy75BJJBaf_5a)#;&M)Fpi1R`a=f7bM;=B+< z^>0~&s4fIieKBhg)rBCcf5#d`bs>m9-?IksM+joe64oHL2tjOF${NHLA&4zP5J{GC zDMS(>h$KI-29ZPvBFS>mP$Ut8NV0-8h$KP~NmjB3kwge0$tu<$k_dsPtY!^7MF=cv z4QpUgLSRvASp$m_0*m^QHLxfl`^VV4ypA>Rj&&>BHOP!YV7))H2G%PC*82-3xPdvV-4(C2<-WH*1(>Hz@GnL4eVJ6?0GwD zV9(qA0&R2@m9H&!_$3XIarmEpgZ5T~H*9zLjfh|zp6xd`#E!!sQhmD5AN!Oog>iU} zKfw^mGKc(WhGZvyyr@Pps?;HWEs-15eizy@5Ba|uBBQUv{!Sv;$>*?tz!1ALjK0nh zzi=o0>wUBIEJ6_0AQnfu{&T8|G&X+E57EFiSMlhCh;EEY8AVKs<{#e+sf5D%{mnj2!{;p?iM zuL{P#Y)c^?mI)>pB3@ZOm}ZEaFH=64OQi37J0~h1d`Sc+hExc?BZ3n{Dg>*D;KY!M z!B0eRVo1ecD-oO+a!s&{2u=*SCOAL@Cx%oCP7uL~A(eu2hDa?c2br(vn%da%wyJyO zAT&f`%e6tfSG7jIc)Bjw-P@MZUz!Y7rK$$GM09K!qevV{bVnxQPAX3*jl$^VDw%;m`4Po_xiy?L;7Z6^nO>clL$udcLh0A3ZwVC zgIppQz26-ae_z)tCy9~yJ;8NEFfzXn*;@jV65IGC_w~c^(H}iA{eVT4eAoXSiNa*FA?Og`+`bIf=NV>zwQq{CxZNSf3S`S^49~wP9n%(4+Lk3Ab&j=WDT@+NB(*+aEKs(H4oB6 zkiVJ-HHaX8JrvX-g8cPR(9jUE`Gpff6=@mNA)=%4T18p~%?y!f+&Wl1N?%8!aht#$uZcwCwm}_3BpSEn zxPe)=5csJO_-Q*X1wR!6KYg4v@KYi1!S<|y4+?<~KEWFJpb+?A2iCv`g}^U5vIc%3 z1b*=(Yv30`;1@#R7f*31_=OPoMJLw4FNDA^I*W$Lk1eWdUNwtqOsy zzQP*Vsu0-ftE_>o3W2Tm77f{|5ZLN#tbwfxfvvvI8rZ53*y8+rLAu>kl7tH)nM^PCgy&cRUf-%y&!2(0<7-^G=&jW(oskRix zNCSiOhDg2`8e~p0@!8DH^Qhk#8k998JK1DIMq<1=KV)c7nMk!>nTf0OX%Z7zQB&=E zX~^wFa(~N6Y*oKLG-zOm{c66I8a)gR9wwr{n%}K7!-6L*F<;GVG9q}12)>#h74##5 zujWSuBMp(S=0^wBKDJq=vD%YI&jQ8->kW~w=Enwq5Yb=F=cwNr7aTOiel>qokqN;m zOUzgE|0?o9P=30;vdw7vtNDpRFGFN5^HK1rAvSwvs3*abgEd5S_AI2xlwdazojpq_ zGBr41h-A-cL6sTuTe=n>2M-$}*>if(-4My1(}VFuU_aA?X@-dX%nY{8(N`AxnH6j& z0{fX0>@~#NPkD8R^8@!YTMG8`X%HA9_Ol?U{{KirL&Sa-1osnx{VWLD5P|(H2%aVa z`&kh5GDPfWLGTU{*w2^2XiM0Bz7D1nf&DBB77&5`EDBZ_BKGr5(C%|xQ`vRl+u(vB zVn2(60$*rNP9E6LcR^W0to>Z4T5L&B#S&vb)f8D8G&V%+XIU_lu7h0{mIu43l%5OU zs!FX4a*1gBxl@rDXHC%jKSbNl+Ta~S#D0DZCK)33^JDNM z5!laxJJ4P--5kO=H&V^Go%Yd;UDJNzYR@x3ht``Hq-G(_xYThPG} z+5K!=(3QxwKic`lw%|n~dY>-+E#B|JYee)uUHV(R--CAykt_cZ3^l}#gdbJ+^GC4I z5Zhw<%%JT-yCt?y(HA>{R!eO=>%M5OO8pu1Afo%?X+?Gg1Bqx~?xD!;-~&UXFS3Ig z%k*_D(S7k(u*DGRi#@>+L!>YEaCX41WkS#zLeLs}xfEJM2(Gh_HMoutTqlP$xK2(` z`Ul&Cu#NpeB}2qE4hGFvSq*ICQ1A#5*v65dogvmXUR5o2BAB+$mV#~k9n3I9dhm4c zsUb3dKOOu)1f#gqK{gSL;?4voiC`3WCMdC9|5i>Cqqws{6(ShLoek<3lAZiQeK-1+ zy2IR{BavpCG86p`>0yX{$3tt*1>=b5Cs|r^E|_A7oeMWmd+GceEFhvsR!t4rKm?Fw);AJ8hrCbgM5Wy(raxl#h>77Kl*lPHlfkc?~lfFaiaYNJ{TgwH%oK#c#)QDe3UVpfm=M@lA=bdggy>PXwvEE9fo%wZZ4_Y*Y(ofa zqbO@&8$!_U#aM%W7lM8-&KmT)5VTJT)}Vcapna}n4cbQt+NUII&^|)+lVa^(rC0<1 z5`s1?%^I|!5VYY{tU((JK^vA~4cbr$+ORBZ(1t?LhUHj;HY^vuL{^6=dUe>x5Q(A{ z!Ufw3X**0HidGE2CW0thDO_rZjiR5a_NfwP{%K1gidGHt8zO${g~be!DC&h}h@c0( zurd+!pdWff(1U(>0}=FK5Z*=vJs5=biJ*7Furm?#P8dE<1icf5uMk1+L}5Q7=$$y6 zMFhPQho2Kc@1(R(MbjtN083qdd6&ZW@HLeR^1um-&>1if67HRxp_=;d0h zK`#qIFV|)bdRYj1xeja4%R`{6>` z#yCbb311+B7JX~&wcwCEc{r@A`hR7_kMR<@1W|1wz zGej_pY!PPst$!;!iCJWeu$Un-i);~AB!XGwqhV|b&mvofwTNIA**a`Y1hdH2VJkyq z7TG4u{SVQe+cq5ekG>z7MYap45Wy_+@$fT4>?|@{wb&EkVoS^{@|YqW!o7yrD4|y& zI)-&l+ACw`@>JN%5F3Bas#2Z9p+t22NxZ4PGzn)C(eWp#$kX9MLnQum4UhbX=vq7z zRy?JDOX5$ru!bQLf4YV3iNJokgqKNf&KIjZzKZy=^fTFMC_+`*pvwD z=e4knC2T)$gx!e1e%=gw6M_A_84ff=?B}h}y=>bVt5|)*6^4lY^b3C`0{eM8%r?Z@ z&sD0$-VKjfV(h1iBK^aXiNdNi#D3ljyBi|;Yd|>D5Nkh?Dm5rvN<`bw&58^Tw-M3y zQ(KWC;Q>R$eujqS^T=;$`xzECHAL)Zc-YAhv7h1La3Zju;o%2{i2aNVH|5h;7W)|$ z{z3%yGbY?&h_#=))g4X;&k8FQ)>oExo*mXOMA~_Fs08Y7RbkXr2x=+>nmJqw znmJ*6x-$A}ZrIfj>92X=q~ia(zvhQiiJ-qe3+EbQ`|DX%(=WplrT=$-eHETGMEdKS z@PZ+-YV=K*d6h1elf?SQH(_BSdVS+1b>(lvQbhFn#+!yzG(@hvICKrMeL6^K7KhCY zkv{z{%(d6yKK(vCRYw21?bFe!)Y7m}Sxa=Eex%52)^{+8fI11_3E32@A|if5fOaXzcswskenpG>)#eOAcF7uw}p=r!FT>b;Jg0q;YK3(ihp~UO$6WUZx2rr!58}5!+a@S zubd>l$KM_nCW5c;w}+*O;OqPCVI@QQX5s7m9pPO>@b&$UuqlB_ zGt4G}FXDHFCyC&T_+4Qk$F>;0cHbRVB!aKqcZatS!PoBDVM8ML+C4jLPXu3%{}py2 zf^We83VRd5H{gGTqln-e@IB!SBKQV;Pq@^OzFGJNd~djq2)+T|8y=%l_y&Amm~d^q z@D2FBuq+XL1D+EGMDPuGPFSA^z5(AKK1>APfbS2VC4z6j4}@{JBhTT9ZL>{2Z=19{Z|i%=ZTD=9ZL>} zMLk{j?BojCfAvUMnaDiavE)d26OrMx|LW239wNQp$uxVk9t~R(c~I@Ps=oj|7CuAd zR@$-TSokK9yJ)ZJtfc){ z{|-+QxmE49s_*BYFrRO0T9|e$`6nz-q!8^`ax$z-r2lNYW68;|36X(S>~&6sZHaVE z*)JSVg)b0!cdM=Y>F{kLjefW9%AO9#5qa_^+Cws&LnKAJh@1(R5EAWD3NWn|7vb{fk=~bc88F2VdcQqeS_LFMDM?PE{upgHPl|`->^23 z{Io;JzhQGC>uCSg^Wn=x2G9;6=fk&&d_nuKUI+&f=^WZ;WEaA5M5dImzjZO3Or#m@ z5OOj6gvj7)?7MuI!Y_&3S;=1KQn-xBq~mt~)yv^pB8zGN)yv_pL<*|iO>gRvH<5^T z61n-$Jc&An90Z|VDe^?;iFBN4zb?-c6$@>Py;{odCXqL~iO5;n?=){zm&i`#mDGI{g`z%0e*4+(a!@$>n8--l<)Co%8Ij|(muZn`Igt&tmuZn`E0JU4?JfsJ zqk}~Lq`gdwMi+@x{nz$su_#|`+h?#kds_Etv8XtamuN53;!#;5eQ7V#;!#y1UwveE zFenk-Lgdh7Yhxv%Muy1Vp;tx^62a~tS4OQ2>6?Y!KT1Y#k_LNyl#E6Y!CoIFqq#(| z*GH*n0bK_>dz6ZPCxV?lN=1KBDeUY~IyyxJ`)`zvE)cOSnv~HiABzD^<9Tg^m z-8Qa@N)f@{8dpUXh+uDxtD+PU?5$BIiiu!vjWW?KMDX5M*{F^oeY3CwM%kz%5$u3b zHtI&DuyaMZ=p`c9r=nc+IuYzsQ7(Fy2==MCIvPR*J5F33O(udJC$5gZA%Yzz%17&o zV8@B_(LO_DUQi)AVThgCeWhj-6{0fLbgRnDu3}W}X4B3*v%4l5TU!%5vsQ^m8HW(e zCaz}>vc$K?t&g5M&1-$PTygZy`GfL3R*=>`;SCAv*{`cDR)_i2Onj`Gp|z3qj<+jjw~q zF9eZa2qOROTndq22==19gEiQTQV3RrYO)4E3A7o`wH<2tOt zUX(%*pX;&)dr=BO#J-a?*o#sKVt75)U@uA`i0buOgS{w)AkN>#n$|S46M{9XyIF%Z zDA0Fr4Zzl zCal3;ltPeYnz9CaQ3^rcxsNr-J3_D;){He+4HJUgbU$mb7o`wns|Q$vy(onse?7<= z>_sUA8Lc^MuotBeJlK*o$b&+V2V1cQdo~Keo{gYWY4y&LG~1a^}2Sf z!Frt#WZ1`9gA6MK8MZxZkYR-&!#=?pWLP1{upL-~3@Zc~wj*l>(X3wxa_*C?LCzI| zncY*Y;e8#MATM`fg1Md$Wa`eW;e8#MVD{IA31)vnkl&wX4e#s7g!gr1!uvWh;e8#M z@V<^rFmmX|g!gr1g0aN2OfZ%Zg0Vz**6_ZLOfb55jtNE=LNK~`o;4U<2*K#$1=ir3 zBO#cL_FxTWqe8GBRLCv@A?%=ewheae=?6S{Y!zz~^<4~VK8B2TggM0XRxs9-?UmIy`# z1Ec4NU{o+LdY=eJ1%sjwh+tGODEgKNMg@bT4MZ>o7#!^)f{Z^n`kM&y``{>}lde}z z5*c=IRK^fFUvF?!lL+<`9vt0GrLdpykf;R_>>fNM>Ous21rLdO6Tx1=L!wbcuvhTV zXd)5p6+ASWP6YX4ShSD`^2M-dGZEyA;n5x<$QQ$-3q+6$MnpwAQ{CyLyb+N@1i4^j zbSn|$f|1b!M34(cMIDGB7mSKtBZ6EoIvPR*xnOiO(~#`sd^*8xO!N(rfSw?XiGCtd znw}txjdl|`LnpY6jZP6MLr)OKMOSpu^~z4}pcCB2MdgU((g|+kqmal#I>BvxRENlQ z^aNo-^Z=3Lbb{N2=t&Sdo$Z6D7m;V_>A(lkKq7hQ>A=M3Ln4#ubhe4n0wSa76tfSb z--)cHQ_Mb$_7QoYhJ7;fQFNBb&fD#ik&mK+PurS4c$d{oiYgFUMW>ieimoTJnocO2 z9MvOohE6D(96ds$BCXg@i8>P*Pb>CQqSuHVpp(U>Mni}cq*e5((NrRH=wz{J(U(LT z(JK11Xf2WJTG>_fkE88GexsAcK8}tPX?m|+MV}t!>1u0Qys2G9pB|MV@|gOvW0#6i zGoqSA&Z-l^_8HQU$lbJ(JTq!Zd&yPN^8vfQ}essVPyPA4L-QlNEv2OYfWi|D)Xon&4 zj@jqY(r2~CuBM(=r4~fni0IYSONx9MogkuDQ}e%-H}O@J=q^{*=L&rt4eTjIucj`H zO246rtfnrCsu?1ysf!{dP=BimV>T)Tc}EEH&No~Nc}EEH&bO>V-VuVlvzRr=J3^3m zgdpz-LEaI9oFW7{MF?_=5abjg$SL3P9U`X)K~DLeHOMJKkW-eh2029ta>`QHV16M4 zIb|7ZkW+*pr~JSgHz@FE!2KFoj_Pm}oSX~hU3*W#RtgZ-w z&Huz2tgZ-w7i?q=R#${zRb&%uuqq-1zO$J%SQQb1Qz3q44MuT7;BmjO2B$&@fe&tB z4Nip+00 zySK9j-Yo>)y@NIIZXxjQoveX(3xRk4$r^aK5X{7Pu?917A;{*tS%aCl5X{80S%aCl z5X{8?Vhv{ELJ(W_um-V32x7}#)*!YB(cj1Eal$^%^EF&I76#`Q=zylkymNdR5%WZTurCa6pm{X$)Hndip2L5`RZ}|?o*MtBaxdM z+gV%DxF?Zw^zKv9cmNT9l6|+QSUizPn<;iiRxDm%NZ%~P`Qq{KL=fkT$A1|jv$hiP zDI$o*CE^Q25RFU3`376dL^QrKE=&Z`_{z965k%3Fu}cI|v}9bD2%>1I_(39wqNU=l zhDc;99rrTC&aFzRcvw1~WQfeIu8I!~F?Yyss+5VF57WfXttzTg<>IbH^xVo(f+wN(dsY5JcKa zTndp^2qJA|)*#XfL8QHwHHfrA5NU-V(h9-&Pza)^5JXWSh@#i=uOo^IL4>Tr8bnAT zh>%rTg9s@E5i-RZL`WfskPd4QA^$_jb6wWJ3xvQ6gun|tE(I?T0x$4c11}H)F9=uz zFA#$HPRJT$b0L`TM67|034x8ptbvUQfsLhE0~-?p8>_||%y)#q>aJ%E<~u@Qhc~bW z^Bp0u%o|yQ`Hm3GcdD}nqXHqY=bKoA`Hm3G9d2d~<_<#O1-GyUULXWsP=ht_0wI_? z+{zk^C4|6JZetBRMF>3QcGkdCguqkoU=2J)2t1`GYv3tDkW*^02029t<_@)4gSmqc z%pK~m26G1?m^;*E4dxC);HP)827W38ep-(;@KYg}7u07B<^@9F%XhH`zAOa3d^c<0 z%Xi1WQFg%7rF-JthRD32VO(;G&MET!*S+yoL@+OC99J^L&I@i)*{WIGVTLV*dBOeh zQ-(ePUMkm@+AIL z@3cP>Pb2b*BKr+lPGnw9JJM?ruOqTt5q+H&@fJh+X4U#IBT?_gyopESb3}grC?nC( zki0W>y>gNjN89T>7MCP)gChDmkHry@Z`G+!dQ{mmu1(|@ItQv{+=57;PVUp1R&f_1 zHR&wBR&hT=vXg&KwD;3Go<-z&x}VnZmqeCVv2||~uO_nDv2||~Zzs}?-YRb!?;-Mj zXZu!p+xP^LZ_Z^TYN;M<7nho)Ynq+BPQB?}-;l~g&K1Z^G*aa8_(mdM7RpTAZ^%7F zUaORuXrV~^_)#L?r7{z340(n~^>cX=Jyokd5x+s?g^PI-uNg9e$hF_)N%T{sL;Nw3 z9ZT{g-Zx}15w}7{VwfTw<7^^bugOS^G2|$bb~`f@A1d->e3?kruFS+VL#~`{`*ciI z+lEiYRf*tf`%`g51W((aif<-@C*YmpT14uXw0+tsZbqcmRrYQ9PH|@<=W1Ge?i{~L zLFS^8wNV8GxHm|LvOT3QA9@>AtOT3rJlucIibbN-$B1N=iJ{=dG zV{3Z!4_ni&ab+R}wp(lI8rLzTZ`NUI)o0?4MADUPt3DHVqf)!o*C_gay2X8noKQsn zR=0SZA>!}P#?uV3qvejOUeCts4Uy4u_qfL=<_>wZ{9HU~z9x3G+)b5wAznyCkCuBX z(j(qPM30vHDDq;w+YlKozZAFoQeQ_#%RS>=-)JJE^$LNl3W3!Lfz=5?fA!(}L4OHBf4#{X^p_Cy*ITSXP7#70?8_ST zpb+Ggeyl-G5rSTRn>FZVA?W3ISc6^`f?j@?HRxp_=;i*b`Pj7)KnVK%J=UP#g`nTx zXAR!}5dupXz#7CuA+U{stU){!qTlV&@o*4p^t(MeHwk&Ppv_H#SyQU8%}qjJbwgN# zC@KVYIFvPrqC#Mq!&rkTDx}YKHV+PG%~H?iK_MspwRvy^Ytol(9u#tc^596;e6`f( zK_Q6PqgaE8Ed;(ZnlNuCft zK?EbliE&p$?1=GQ)q|7cPgmGd7%@(Xzc55H$nZdGp<4e-aRv}Z%E&)mv6~PY*FKcS#f6~b#Kc^{9(xRR4P%~=E2!< zKO$un(RpxoJdsGFT2?bBo=>EMB3d&iUPAAc!c;(V)YEf6<8 ziLWApxbaC`jR@k#y!cKch#T|bmP8OY=Eu(vLEM-hze5D))qWa}C4%#6KaJ-alASzr zlWnoj;>|?9uVGv4vv??q}nxD=7oDI24{ zh(jU+*Qrx!l>ID-?M*F$cW1s zCboPP&mwX)jeEb2za_F&MH@Zt{W{)A+g%={A+AY z(-*A2FN&`wa@%4%?)@f?h@AS~`ujI=T_PRI+i~x=@qyWUJ-zE+WWQE8@S2AX}}73;n3;B`5r@jGr(hCyBhX zGJcT=^3KY5FcIXPRq-Su$UCdzMMRKyR>$jzAn&Y>4;dn-?yiY1kOrsju8E7R(|4GY z#HqV$;)n=N-CY~kCW2FU*TyY~;MCn8<1R#S>h6zmUm`elcU?S+2u|Hy7cU@!Q+L=M9m(vnlRxHT+i9rg)1Xb}lnPS=8qEf*~@O`8giB!Q3IwWqygP|D=hX z%S=y&*D} z`Gd1L#>PUBJ%u29Zs$_SocTHOP8G zko9)623b!CvR*c8koANh{`|!n#2+DuKSB^&_HZf079ofvLJ%c{ASMVw1P}sy76N+~ zf_~r2_k(^Hf_~q}8uYsm^m`6#FlrKlQPY0bVALc8)^dO~uofY(mV>N;wFrT=9AXWu zMF{3!hgpO9mk?Og5!S$>gutSXvIZ6<1QvCSHLxflu&Cp#!Td`IZ0rPUU}Hk`8zwr( z{mmNWI3cjZe^`S#nh;p#N!B3i34yJiVhysM5X{j|vj%fCA(*3`VGZVJLf{2wS%X|D z1b&gr8sthL@RW0`L9P^nIoiLh!5mEp=4j_xgE^WI%+W5e26Hqan4?`}4d!S<;LDd- z178+`Iof5`V2*Ys-Ka*g$U+o`OB&U&-gGO}m5Zil5z%|oZ8YR_ zL*&ZE(u)nTId{9#6ie?lL~?HN^uWXV4&_be66yX&Y~A&)^?OyRlIclAbk04hNU8Kf zB0A@uQKWQwjUkeAuS$0~s;?tCw@f;5OcTkuWz%I0k(^sLtpw_CRblMZCj_k_1g%ky zOQAJ{;5t{c2Gy&2=u2VjJC*2`zqe8l|Au@lzCf(;BT`#eXO6k5tU>nz_2O45+ z8qm zCQRQ>$49QNexx(I0I{h}033NZ{ z^hhEzO4ylQwe%t)lS|o|UA6Q|LzKL(*Nq%RWD zkybw$xgmYUIo%pLNkrNk(`ASt(%zW9p2&N#eacWhU606gMRdKYr&}2!Eq_zGlOfi3 zGW)7M&(lK<5#PBvJ@;Sp>pWh)C4J(&CU(49Se3dpopr$y?K`Cvxh-9Zi1wXp6uCWJ z%@FaOJJR7LT}phXX4*{@QAB*FR=SQM;ybn2dNJM*0!t7AOQ_AIUMjIzzlSxbyAag9 z0c%iqA+X+ttbz3kLHpdx8nllPv`-_}pnV#pyO1RyMm0|NFhpWh)AY1sr@e>G6# z@pK(S#J}37Xa0xiH^H7r7cHc(EdJFY?HVHf)qz_cH5G!I3W260mx88a`T@E!`s>Mb zD?_BeI;Dpevn`J`;m+w1M9^PPr#~>n_Sb!?rq8B#m$IeMU)|Gt43U=akv?KbPV#qp zqS_;UipW7lbUf^lzDNXL2fvv9AHME9-0JE31Nf;f-9u@R3eBZKx6Wt&d=5>BMh%1z z!bK?>DJkM!M5RF`gitg|QA8n{CnZTy>QYw-p(u*q-fOS-Uid!GuYY=;*R%F#*lX?m zna@3`vR-m=8ea$Bl{t+>mV9@nDv8PIm1=wL&a@(toDRt>H_Nd(9h&J|MK9Up^aj;x zSf-Fg=d_oSdo$BmbWR5-8J?L(A~_wANvi7Q7|}VsFY^J33^XNCqclrjZn<^*y5L>hJhW$b7(}?-9LBvi?7>azoRpbGV)8ypwVIMy&Z6@^LCKSu9V|NUPb-<4IY1(L ze=5_go?f!#{prkj63P2BnOP)~_h)R+V^2k}ry_`%W?LaAr7u245rr)QsL!BYNb%o(UW+^49_0$Xv*x z|2n`PwO@-eT}jMe2biUL?9EIMBlOn+7AtuxQ%GWJL;rP&C7I>C9Q<{OcQQx0mA>A2 zPqkW>DevmFPf6)IT%+XOOhXo3hg+1qmq|#Z4&Tr8{fFqiSe|)~MC$N^%n}l*!w)iF zv7mlF$Q&e*`dN{w6`4xFcwd>R%Yyn@oyj9H_4Aq9!u6T{=bKg-?;A3MNThx?XNHp$ zryu#gRO(CBYICNLWwMfQNyh%C)t1au5;NY9sF*F89n9?2;r#px~YmP++g z-xPnBsm5|ZNg+wda@7T;QjJxs?=#I=`Y4G=E@5eL(7cs*Fw=?UQYHF4;b5jaNm2Tv z`DS~5$c$i_%-i!r=24cKH<(=fn3=$GelPP>@yE<`mNDw7;)QDMKV??298pgd+md|D za%Rn(RA(iJGGDV?eNIm53X zvEV%XmrQpO^NyL`!e28ZI0kp#e$9+y!JW5XGqYH5=k0Lj9TwbqJDmB1M6!G&vzNq- zuO4b$M>4tXDa-V?jP>~XEz`OK?S(y$`aM(rQY~hD-J)6@%QR%s^VpqA{>Zdq(c^1~ zl0P$DNMw8+&m8V7>(b-vL}v13T4a3vm6=B(^VnZ@q@e0VP<0}xy1#8JRGkQ_F6F3I ztADG@qUuDDQ*DgCldQ+`sm^w;G0e1OoV_G6)1Ky3x=L53T-BCys<2?Dt>DxmF*EIbYRP9f z`8`Z4%(RuA+el;#p5^o>ky-RC=Rp=^`7CD|iM;W0w(|iCp52`7tmjsEc2mvS#e!!y z)tnG+`OEH77NiB+GKwb>?_c&*{K2;Z}3JsOQ|kGW2&-tLHcaSc+8j>RLU= zd5C3mbyH*YohMn!sW(h?jn#MNvfz!52F|-I9Wv%xxPkLA3*P8x=zPtBH#!M(8T$a1#?0Z=Mag!o6*#1)6-NYW`L&7)hw6+nmPkn zFauwM9vdhI<0QkOE#j<6IwYB_SYik z2^ToiNaQ@>0z1#+=qZAERRnY9g|-#uOcBhP7uguhnIf1oTiY1SnIf3|F19h4{X{Un zF0nBfUm_SyA{Z$m7#AWq-w?t1h6sABja@r>OayNcw6!rf5{aN!+u0cOst9_uy^TSy zilA3J*ckMx2zs@njX|%9=qK`eX1mnJU}h6R&v&vhIR6nrE;`#7%ylBjP8S=4xlRP< zKV5AM&VNLZ)5~lOWR`EnbB*-r%LKizB$&VRZ&t9k6;{O1a13yGZnT;=54rAM5c z|8#dsv*7&a8mByoIsaLt`uTdN+c47#=RY?%SCPnUbFh1Jr(X-Y*CAT}HSoEy*gOWbZR1%rB`Z~b~y&Rdf?r^q{$gFjzbAUu*cdElfK%~4lR?zRK&Kjs)W%?^%Y!BccOmX_E@we) z3~_ppnA$k3dhA|j`XiPl5H7LV?qWMUQSBQ{Z?c@)WqxY0ZMs zUFclLg6C)tIsI7h9PJ@z6p8HV!_FiUQ>%Zfbv^7XBavEt#OeR2-a@I>QBKFlw3u4W zd8lOSF(;oz*J@cMqn+U_x>hSI8RLv0ky;(=EFVq#PFMZ<2>ZD6^B65stK*#9v09{7 z$JuH@c0`aJ5oBk)ZH4TJV9uOiW6-N2=+%if2E8hR?Rmn+V0%QcJ(FwrWMB5i_QuXsk)b)jU@7f?qz2i3!Wvt?CfU2v!qv?{VaHv^osK%i7a`R zbCkr?b3L^^vz%H_>g|zwp6yI0k$RrvbeyVVOg%SIt>!uTEV`Z}C9gWeS#&+OR5ITg zLn8J3np5>DS(mQo17NRy5I|oUmHr{e-J!i6v+F0V$WkGGc-A(}up3v=f#*@esy4}umEOLy3AYDHar&euN~AWbzr9$( z&1X4F$!8>Y{HIk(cPNP&@AK5UO1jfYWW1MhE4^znhT=TqE0B+}2Px<^T*pHFpF`qaPGWwECs*i#Y2l(DT4 zQ^u|HzUfuutE`(xBKa!k_FQ3NkgxLY%`C`QMYk`B$=63}Pb<3%)|ytxR~7dS63N%u z?lKaSuTNF0v)z>}dJFfGZ2C{DYVHmaldpp+rka~tr`ILlX>#Wx?CSONX zt6FYb7M-uZl+<>6vgmP9`eAhs*6mLs`Ks&g_=o6x)pJ{J&`Xwlo#S>Vk$jzFdtT>4 z@2Lp(R0J{gZ7amocOT>>BVP^NF(i_&M(*;>rst8bbKMmz$XA}bk;LTdG_|LWTmDni z3i)!~(@7*>p<9ilIE{Pep<9n-BHsZH-6sEO6}btC$=4ZbU6I?9MDi883(Rut6S~B$ zwq5d7L$x~34On!(8Yns6?Z~3@MLv+4cxH+HwJ6|o`Y9x}cmbT}y zry|%>5yZ5ztq{}7y@Z#Hd|lvnA(4Dtnms-)5SghpXGFMbBjzaqW+~) zS5S;YA{p%J&LEKycbPlxkr8*bJA*_rc(u(1_Ur!>eXl_G#?|geyd31~8g~bYtzVh80NF-mq++HLFx&5EbN!_Pf^>W9utW#1*GKHi# zUACWj)1bFIi)Cgj$U7`^o`7s*xpgN0GK~8r%b@&HsamR6d%Fin)Nk_e+IzcYf7IJt zlpfA&@9mz+viwf7{oxch-HWpy{`W54g+UJC8+=otKpiahH+E*cs~1`c*GS z#?C$NgdF)JY~r1p9TLjakEWD1tq`-^P5*btr;;A8BLW;5rmR zZ#-aQR&pIa;BMu7VUBvx-9;jERH0k`51nPX*Zq)tIt%8gN8D;8W{!GQ)z4_R=ijCk z=BP35%_LIK{YziSaF#1ojPB?0?kJYFElkV=cRb4+B|2t; zJB{VHF(ziBJA-AxSQ9hRUBFWKl9|VzaF?(oGt8Xugu9ZYI6aNmHObw`(q1h`zu`8? z-Nv$mmov%TMIw7T$vr?~M(!fjKawgPq#5+IH%LyKX^}3^DnqLCz*cM zqQ5$P$xYH)q~>S1=d+;ZUv^uQn3~_NdVY>O>NL{|H9yxKO(K=>nmdW4INi0bIfA_A zP9ssj=69v}t2D2}y-_Km&9$~@nXD)P0m($x*oW}2G zE_7>=sNa$1wZHB*WVuO+9y_nQ0ZYXz%=WzDUd?ia+QMP#%J&WT7M5RUsOQg07P&)M z>ZlizFCiJt(*HRVv)Fx>WyW+9v)En4a`r{$cbngIce3QSHh*pBP4@svL2d^n52z)- z<(4h4_p2ax(#0m`Ew?gBaT>ofxx{VAg5Q~3;$Fal-dy_^NVGx@gLmqhaQjysgZ zjNIKS%kQ|;No3?Mb-PudezsQ}%iN@*7Bg~-Rjc>hE-ZTF{-or6w-<{Zxkr^OcZZV5 z$o;?_Rf+c0K8g6yom^RqjNBFOJQ5kXD{Rf9#zas*BB&n`)Xz%09Mq2p`gxU&K|hP2 zpI6%$^s@-IaE*{K&?j4@J<2n{5pGaI?Fe^Nx9Ji@TRZj@?_`N@we8k$LPB zw+aj9u}|GvBxWA_Th-xCH@}u?g?a3A_cjt47hk&lNs7{CpD{iEr8}8rzY;wIeCf_0 zDagHzWA?b~SXxdqF?-ytB*p267Mr8+UUwhM3?+I-+UuTRaTb}FBDY*^y@kc;_DXb2 zk=u|&w(u)AATcBN&>JG?jf1uodP4*~ z|AUP|&x>GPKiU|qO9bos$;Mz^Ke-j_nQB2D9&)RZNFDy-c4=s0aGm?BdpQg0@QB-k z#MEI!)vL$c=}k;4)ZriQOC*xzzub8way`qFfk=Omt~z29aF;VLQ<4Iq>i3?T_wG{ zSbSbrNw1LQggWXqQ!%By*({f+Bie-|i%E*puk!ZfcxzZbRif9G;}x^C;_W%fJIZn= zZ_i0y)r{T?bM(~fI@xQ^qGu$%u9Lk>NTgRwdtFG(*lDL?N_#_1EBhvVu9xRf|JbpU z_KuU7v2&Sfb*fj%)iLIao@{k^VgZ&c0epR(G*e?<6*O@j3`z3gAHU?F9 zws$3G5c5VguP2Gj8#TO1S)F$|e%17zWWl^q+nY{e=8ZmTUFUfFT9{UtH|l%ekVu7} z>m4E~P8aa_I@deOGL^^Ixn7BudO5}EQ+Rwe_R=ip@c3%%RV0xm=Xupg%-9*IwkOYP zO(MsgCf*ja96NTJdVO2zb(yhquWIFZg)I8GQ>euCrm^U;GggV`%_EVq<9j_X(94nI zPT*C%P>YP6(90u{u@lp$KRF7Tg?dxD#p*Ak^z9Eqew($;;NNu$7jg7mnwDr;~*o(GaMG{$ZJFgmvsf}mU_O$a_lSpl}_qLej*xKme^}STD%hbjU z)#_5OkVV(Vt4ca~(^zzEys4zKH;+VWql?$GlU|P0Mpv(5XDw12mw9<4QX7}q>>#Hi z=nWC%^m5w@y&;0-bh9y7jtG`>g^j^-uJEqpEktcx>GdR$+UV|0x?Jy<)W+4`lPsu> zYrW|trZ(PHJ$8e)ue)i5+UV(hLn0Z>_YRR1rKdk_&U^E{Gp^RHiqb>*yf@#gMo#u|iELpnZxM;9v6X7SdU?A@ zq{e!CdDrM|mU~UNd!tB9jcrn``g+q@bd7CSa)-BsMc3FKC3kvjNuMQUt-*Na4IY=F%&&P7Gg8zSh9fwmQTLj>o&gKP|XUIgnJY-6x45v=Pj8-sP- z!ydiP9(DAhrRA3rha}<+w-tDl0@p~ z5ifO{-a@ILQQkZfQ$N3{R*!irS#SwGsw3lA8)X(Ey ziQZbIe#UuKNu++p+3cV=|=#BBV6?#Ji%b8$fupALAXQGY4awd8g@)n{tp71)7 zNNr5^M&4nvjBBDPUI7bgW2!fX#MDMP)nn7VEdxy})W);kCnS==7rb30@@)MD??;lN zG`_cb!AlL&%PC6Zd#e|`N-X%^>P4?U3%<8{(L0X?-&?)pb!5T!Rxf!yS@6Bp3~wL{ zzPFm;Jxn6czh-(YsT?43MV?`d%w z-zB}`Rb|0+t&$HmWq&eOa z7JPFw*IQ2_8Jz3wH8J*^qq$z*U3xFfsI06iVV>8GL`LPS-WU=YmGixg+)6+DtEpNo z@b9+j?=*S#`#>vhSfe8VdoDx&XZEb@*G(;}mCu~+_HEix(>d*`uW z6fE{ylgKD|%Nu&XX@ya+#JiUTqu?E{ki?9FL~Y@F-r7Rb3ZvkCZv%<+;Ri+KbW{1*^P9EEol=ypRQ>V71qr1*2fK z*N#L+!5Xg{iHw3Z-aQ*87wNqhOu)4GTuWIxqFG z-ml^`M!|ZoA`3>rde3FSDA?d##DY<LUa7*wwa`e&DoLG_BD$9CHoRIdp7@Jkzm>J>q+?y)gjWAhwskM|(g24=s#-WU>@ z{l4;+Pt+A9=Z9Z=D_Ai5?e{j4nAz_}Rjc26<)@lfnEk%(e<8+U{6I5 zbIi6v%rWmWUNZ9ahu4Ed@^#!B|J=Xxb;5gs1^N2hn?_>t^_bezQvTkT{++KJ|7#M- zSFV5Xf270=-Adk9&-K$Rcwar&ugrq?)pPy2EO=i%*LO(def3 z^{;2a`|4%=zASiOy{tc+MBZ0F&96GsJ|KtNzD7| z6I73#?(Z@}@2fwjq>`WWvR<;O7X7~Z8Gb7gIoqk?4<#{m_=;+ErazuV*Wm&sXZf>O zbRE8}ZgX^mqhBPmOp*2 zUXG0S+Wt!{sGqw2JQ7ns%heV(@DD98tuWpj`oEG${p9(_Ns7~lo;JU>n&+RkP`4^h zmwd+j+G?KPkfbPm#ya);T58En{7YG0-;$HsL~=E^!pz^)zmWwqe^dW+twKMKMd!U(N#wU?(Ru$#N$htck-R5fh?J=y?(Jya;;reA^1WDuP~ZW@FH+B3M^*8-sO;U|lV24Av!rb+xoH zSeJ4yGYe||5`PDYsrld3y4w5I z-Z!mK^Bw$}BvLJ%{e~n`^PPQ%1-;SP&$3`oyZ9HdU{AaF?MYt;5UxSsxCQT0x;znn$aVL2sN`a4*39adFxm4ARl>ae>% z_yfHhsl%)N6C_fH*Z7q_H2s5LTD!((2el!B-Vi}=Tx(mQH$?FxKMQK(W`7iksg0Vd$8PgCZZNG-8@>F^B$C0t z{tgoLYhw?X8N08)m!v3tM4cz-S*x#qfTfL!(X&=x|1e86ey8*f|2Rt}ey{QlKX;>E zdr^Afnw(U9wLN$GO;|c@&PnBwWLfSC&AR&e7qD!J_&s6&QWClP>+g3bF>|I~a({mW ziym=$$^HF@xz$5MOQw7!1N^Bh1O0;}QsIOA zEt~Y7$`N+3A8giQD*STQ>TbUyi>~kiw!*wBqUTJV!TW3s zGAM#Ayx+!P3q`PnBW(<>FGl(;xPLId9`M_e$oMMohi^B1i1AhE-_L^a^{_vR#Eh@L zYMUSPH-2GSVSJ7DH2{uDpaMfy(pUK<1z#UDc=RrjQS_#dK=?^FG2 zztl^Xs(Z>GOd?hHl+kx?^gQzQoWF+! z`I_z@ATjxxtoC$PS0#%W~AAEE0)Dd^z1j=Z^weKu;=() zS@0G19RC^;S@K*zpTy*Jn%bVZ{umO;={w|WaDr?2`;NK8&=s#dT0TUc~X=POy@ zA7IfreM`wg|0s#%^mV`RJH2EhI;U^=Wxv-VIbGz}Baxggve`jzh@dw_&>M?wEA)m4 zmh+~K!E!{foVRQYmh+b1iMJ57vBd9ABDL|3KjtTsWz@z}e;f;H<6VC$iK&hERF8e& z?>cN+p*BAB_mD^iSNjJ@3UcGgB~tIJH}_WiWsgv==02@t6-i~1;`A!6pEZ6%mi=5m zYy1mX7L_&EAZz{0SvD)tHMZ98OHz=Ve#)$Coj-x)E+u+h>-?v=)k!T)t*-ayu{2ep zm$Tkq#qu4mYlHt8%W0>Xb#3qukrbuBon+Rv(LduiyT;v}jk+J->U+-_7FS#b#=Qm)%ST6P*5;K;+QI+tWKR8F%{^}IQ z^7sA_5~<9e{E;NZ>GNOAN&To={p62gX{Y2E$%Oy3I^<6yG4*`XW9ln@eA zl3u&i^Dq8k5>wBosaA*mGAHX8^S)mdB}e>vEV`a+Df!J0NTi;B_ow|s^c;TFFI8GE zN9y^QUyVfS`Izl_?5PO$R0J`9*j9-7!@q==jC}p+cOj8{o$w1!H9e2H_b>ku7UU}x zj3+VqYM}NsC)ifrv_ig43O*x|e5HfEB*p2^tC)A2)4>6jVkNqLI{2C8lVxT;JS8~B zvP+4MIVC7rLH{pHJ~b#qVshG4ZO^GeKq5IU6D%T;oR$rGR@BQeIgM4Ta=}m*Jx8@t zQa%{ZqI23#NrhlKiR83mkaxOXjuD;H(}Tq%lG94TMiR+sr9d@N|5lepZ-}5bM9>>& z*jDHb5iF;&jlpt6u$(G32Fs}u{Ki{|+Nc_&Dw+P#qQ4b7D+sD;k+FPs5VN2*st2t| zOl@>gJyts?tZrJNHtGbAkVppW2jfZ9JHWL}-s=ZbS>9Ko+t&|XV5!{P#54$IvwW#U z$216DXK7Q##54@vVdZO;vMvEWy2&kgpotf+3* z)j0Tp<#Q!^U5$g^ShiL(F?qpXEMFe^gi z(KiihvHZ?g>rI13Ebmt~F`2++*`Y+QBNLp*g1=+v1Q)X4?-)8k2bRa4GWR^);BuB% zpEmbA-Jl1{@Y-fwUXaf+QHfrc7u>-zZjFiYgS%LsSE6J5;69d<>zJ4zc$lT85*-r+ z<5=3aF!M$jJjrsM5*-r;(^>T2^3(kj1+!T6-}2KjQLvEZq#9;jaqu=vbtO6`4n8E2 z%1nZdBxY{8O4V}`943*uB^!*Yqg%_|a$Zocffh5j^i-{y1G=O(Gag7ur@BO(Gag7ugt$ zCJ~IL);0#CNd%+mVjF|eB!ba&iH*T%62WL{V`DIyL@=7#+8B%`5sapGHU^_f1f!|F zjlpOV!D#AWV=$UTFq%5r7>p(njHXL%3`Ua(MpGvngV7{{(bU<-U^IzfGG= zOhKyHgE|yJ9bRi=P=_L@!yYyUbtr;5yw1j;4n zp$O{m1{;Gq6hR&Kv@xhd5!B(0HU@Plf;zm(#-I*GP=`0$7}TK%>M-BNpbqnc=Xi$1 zxy>!XED|~Iy)8KE>v>hqZF&WNvf$k2_8=!Pv$~dh)Qo*+uq10*;oPQQu#`lOAcKOH zBt_{-H<{zkpkO1*fa`B&~QX|!p2L~ru=9kP#Jxr25Pp_*e{dMh})L12V z1!uF=ZJ3jKf+RyyoW_~n-9gNPGrhZmRxJ3%;~_y?7W}^Pkl-2?{J!y!U=Ry__i||P z5DR|ya%eD}#QX&ly%+Zct2m}l^%AKs)q67c1fQ`yq(uJ}&U=F2SaxvCupsw*y{Ej*_~mU8Z1bZw29+s-y?D&VpfW}Dok?Apqiu}7GpWay2=;x9jX|x7pf|?a7}Tl= z`sZ;QgIX0qkBzf2s8tdD3*LIXkGC=U7rga&A0Mpe+Q7^A?&Z{3iVL;9VB{Cj1M*W|n-uzlT*89)U}pr~S@0h0jG!+I-h-VP+{c3VU}pvsS@0h0%fSp5ya)Sou!N;i zTq?Egu9B%&g54}XXU$(Qc_lc=^2)}X)C!f0SwV$PdcTU&t+(Z*){#_a3Dx}ueZ4a~ z$gp(1!yHp)2N$utbKKPYoZt$Ux;dui=LEf39Imms!M!Z~xyI%O<4EM`?Y!Ux7L4wB z!5b_X-SdKtB<2aP-iud*pIP+tLA@8R27hoX%mDL)GM!BZG2Z6~HCQm-=Lazh#`|kQ zI~I)h*MfW!`Kuxef~6dT(Y+wp#DdYiAUMc^(Y-MEiv^>5VNkt`*+Pu&*MkfTM)&JM zTNaG&H-c+eFuLCe29e17&x?YGI0kQ!E()Gx!5gHDf;U<42I=BpEeqZtT^tm#;0@9@ zgI`(j2I-qYnXYCp@CNByK@AqXLHbtEoCR-?E(tob;0@9xK`$1(LHc$uj0JCyz8yTl zqTfi=f1Tu=U?z)xBT@f#l6QjlSnw2hX|RPvW}BtK0TW}t6j&Mrm+8GQ$L=kvqLu|c zNaWc4Zg7}HuFc;ICS7h?=`RI#s#eQ`c`W+a{gsjrf|V@#*!{hd4})zaa_n9a?7dnq zM~>YqgYR$9BFFAkK~7ICa_nAZ=Wxu2BA5?FFdweAtuP;oU<|IYF&Kj)7+-5`491rT zMw19eiU`Jq2u6VjYF-3?F+>DM2NCqfI=hAF4H5LldK-h@5J7KjurcTj5&g!3o{=`% z7|ci_=&?;U2InLq=);d}4CW{i^y+3CgE>kB=OkNf49-bJkc*FP3}!76WM`|5!K@{M ze0^eLFl&h*gWGHjW-Sq%lYDApa8B}R(3EQ)=Oo*Mghb9sb_9L%&A7l*hMhq_7MzoO z5ey|U=On+VeC-LA^){_=PO>+6pG0PfeZg81`Ku!Pf-Nj{)|(^azF;Sd{*}vPYRUV9 zA{PCdmN}!fd`BWnE)EWpnAxVhiYX4N-LAJsW}9z8(J|&q;Y`))yI=>4 zo^9$V`93(rqGy}NN)868zOv*e)h}TD5KQ}r=%)-n2FV>dMrNCzf-WR7+x%p+gTDqM zg5D58Zyd6%&>JFH&d)Xm%MrnHez7rF&M(0*-a^#IuR$S+)W(ru$pF1ya=!Xou#^S0 zaWq&-Vrs)vJ$5|E9b#IcHckYml1K(igq28&(--lTW{I#G%T;`(St2}#WdX;O44bg5 zmK8tC5(R&#Hb-hpkDZ=1&Rp@6oNK=1&b54AWw2{zBENY`B(1*L(*hr-gf2 zbj^2DQZ771B1hQr;gaEcIdX)p5RSNywlIaa(<_FPNTlW~hN_ABx4JB{EP^bHAj_xQ zR>-mlvRui=Aj=}i@)2tY%|SnIhQt>NW=ZE`oipVPmlGHNy8e%a}K6hHFV=-l!cO ze^A$k%o}yWzgaME)C+S9Ol4}hR#jcYu;VDx3iC#zurrCw8%@IQB=Xl%nuI-B@OM3$ zguPkt?o-on01MuIY8nnBktJusLJ~8+Zc^Km3Fnc>_;SL$NA(uU_;SM?BxZc|QLX&& z5Q`pPgOvnf?qg<8_4pd0Bn+#P$oPuF8UGM{Oo_uLqjf7erX*o&5*c5K&Cbr|W@ZyX zZ-}5bvbGg^Lj=n?&&FUmB3RD(HU`T%KfIH-5Vg@P97-a!(IT8T&SV+q8!f}vSWp`m zgiA=wF{M!T*u~-TNv0KQb%@R+^&MW%52rwdx$^vFN-%tE5ZVnnmaRWhGt1ZX}ZT z%feaz5S{nS!{a29_ikaOC(XX&t^01a=k;}*-cu3msR&}Ou&oetMc9IujC@@gwk45# zbq|L>W7dv*T^-)ff_z;Yjv_JndR6V|4dKS=rWNwlGu%ufJ)a-$_#gR!M7}=D509|m z>$Ci@#D0BtTiBijU!V03yR+cy zv)*AZ68ZY<_Auu~y*={RQu>6`N#yIZzTtcpe0_FD_%4b0`fQQvv3}uNBlPvz2TJ;f zhe%Ad=&#QPgn2LNb;3l^h{C_McXdhB@=~lFfK8F{Whd z(J+rh#`|O8bQ0<3(P59*Oe=k-;uO_tY&e)j_w(sW9uLQ`=zgxIWL!9nMEZGrn6p4H z$B6Fd31J@+8SfLrLK5lciFV{-Perh&B8YjywnEGk;e1{)@--=3LL&K^5*}P+dLHBb z$?zu@eGuNT9%B=Xw`FNR%M@Lc%C@aq4xdMV5& zG5I=It?Q+542k4xM!3r?$Ij0)!?sH$U%qPfO4yS{=c}2LS>aF?ov(|P%nnD9NWSKT zyZ#|MUvooenO?HwYhKuvMDjJy_B`&8i(pSh5c8^Sg_u{vfxKkoYkoMKMDn#DT(JD# z`C1sh!Ge6f5iTP!`Rb_l^sO+p`rr9l5|$#7d@T#hkjR&A%fcEg_$F&v7_+?gS*cV% zb#?r1*p6j|l0uT3SpFPu&QjhB2eVY1VBQ*fFC5E~|3Zn>&cA zvadvH63O{2Z$D`6>aPedWx1!o+`Cv2-pGbq)s-`9o}N#qNfbzwagd^55xY|io*@B8|&Gt0%ir|ZKTS-#?JULOu(8C14ZYO{L2 zzCL`2Ww?^7Z`Lw{L~3k9xPZir?q}2%ZU}df$mre}c3-FWLT2Ml;b9VU)SIDNZ4S$< z*D>ZD;8&Gw3G1=w(fy{9kHdgOM)%fm(I)C2`%e2Oq5rWK8Qt5$jwCX=x7l%uZxux_ zE<`XcKDDhdE<`Xcw%Ztt3lWTq&uk3Fg$TyQ4jY4UA%gG7cG?)!j|jde`rO8#HbhVx zU)UJbh6rjy1hpZ8+7Lmn?y^fpuZo~ociR~Bst9`ZOB;h;6+y4=u`%dX5%lU_8-rdI zL9Z6s81$-$zSpfsMs!>TN(x}#z3|Fk+5 z=8>3LYo%J(v9KG7%vyhhGt6@AImw@4`CWQ@%&fIZwK@?tWYOm&+m-wkwqnt<)*dB) zhh0cy)=EV){vrCDq(pR-L}sm$QTg3w-*L@YGE%En|Kt|~M6jnK7=xv3E5wwF&f_H` zUpY~063N%e(a@rQ=c{ydFAMUOjtWUkzKYeJmW|dH|2to&MH@&YUlpTmB$BU+(JmHj zVZ~@a3ucMaqaRo>OPn74#)4U*QuG%KW{FBs>2LJ*6sIvuoDr2{!7On`RFws@MCGU! z3ucMRQ65QAx*d<)Dp6OK58qpXQ%o{bL$s|%6HKXYy zW>o&5Dyn9*mPAHnt!UAAv=??%){ch%pv8>J-&Cu*(IgfP>XvY^uoCxY!1ohm=wn9CNpq|gQF{oz| z)N^ASgL)Q0J?GgN)UybVR!wXSYC{BhZ)#(ZcM;@W1bG)h-bK)38M|ckms#T|G8;hPv8Y<}=9c0lniL0bbbeu$HlCDvg zzhzx|Cb=w{K_WBB<Qju zPLZ$fQ3Dp_>zc?RG5Jc=o?agfPMcQ9*A3AS63N%i(MXcw^o$lcsZhO>d~-C4<#i>k zNG7m+p?+gZzj2ozJ;m}Z|LRnJ^difi3(T?dmS_&k&q{Rv-V(jR67afijh3>s;dR{_ ztz_xL>$)x4$Z{XA>$d1qmTP%ky`tSL19@G&qGA%+)85e`5>sO>RsZyks-B|zM{4Z$ zXxgb-q{jM0gUf0$HP%+Ox+5CHqHCb2KzN4s$4kcrnk;xv zcwFSN;634S(ZwuyPk4NE6${=I9v}4~kvne_q7fwWzUYK#9LL~&(FxHDEO=jZLbRL( z?~6{1wzA-T(TUObEO=k^iRc6i-WPo$s$5O)sr+8)BL^p&gff~IsCo(&gd7GZY|B(;OEgFEVn7qXL_GUrJCvODNdis zZxVhHoyyXX-z5AZs>Cv}aS8fcY`darEYB&?fBS4#bPmh>=H}b>-BA;k6-xBFc1ID* zUf!=SqZTZ`@qT?7wIL}=zjdQIJKYm?X8GiHb9TBX>cR5WAEi=jRIl!h9$@L9zC+wZ zGM42|^&R3iB}LKmEb|-Wq&_EkgQPfJ^B&XBUqwqYHdDi8-besdar5Z8NRx-JS!{&{ld2<(TqaH0?qyW(6o_CH9JVnS1tJ&)M{Ep6fe1#yZ#D*_Km?Wf zyNy9*il8!&+89)(2Q}f}T&sYM7{htIOj13lZd^gpI*0A%g6b zv@w_^MD)9bdX^|)oOFgb;_PA;{(+Wq%3h~(_GLM}R z*CUZ5;~8&of-j7!#rLw{3!`fB zBo>T<>ha4g7zNei_gQeKt491W3(mT0#9y=Eth+}1I}656%{YCf-ml^`#!k(+A&Fd{ z){4(#!S!jaxDyMmPix0LS#W(?J08q}>(e^%!z{QytrI`Zg6q?|@jMn>pVp0+v#g5D zcdYf|{VZeoJJx#fVU`Z+JJwTF9i9`Pd6nL;qV$1J)HxE#IV@Y$8G*j5RzHqe4)!(Y zB=zGCEIrkCta_X_h_7Q=SIUgj2Jrxvm37ScY8V%=8<*&As!l&i*L!hpd>?85F^hy0eYJky->12aMjhID&}aoVJIJ!8vV@xL+SV|HwJ*b@5OVIj6lLp4ZRB;GDK+{2B|+X>W>`keGAY ztm@}mcfA z)(@IisExw74T)rMRNRH6IE}9$N5$P)@D=2!_(qlj{)YF_xHk*Ff_yX{Oj49CRNwIG zE4#$HWI%FuKRYB?|O@6{qo~ zaK+|#tOwK^_tR;ZUOwK^d_L}F_7QPpZgLD&N#vW^`SDPeZ`F6B`mXi-_yHDt-T7MlC=0&sd@Y_xB1>KnPa`q) zJX>wgf_SBAW$Sri+<&4}l>Qq=Z^Va4Og+D@S}lrmpU^Sp?fs=n7RR+%bUm+B@@CwG zMC$pixHXB?^ILI$5~=66;^Y4iUC&Ewc6RbNvu|5LZ-}5b-mx+04G}D7sg1#MM6jG? zHU`UC7C$t}WDxJ$yc>@vk=l4aUOCmopf;ArYgkYlAI4iqOl@pXJ+?Zo^qgsh+E^1; zA(0Gjh-;CUZ)VG>d(<1^i&^v)*%>6A{?lq>+?~YaeXCm6#(1P@W%Ir%-bEtw*ycFz zd6Q-R4c!;2)t0z5i=M~!Dfu|=!J_m2gOaUrZxYG-C-F!U$@?eqJQB(KCvj@JUY8M_ z_ieW4^|hzo(@(8nPel;3{eNP%$K7bjGL}D!dyq)JcE;mp{5xNt$4{^zU%TRIBqm>n z)t>H+_s;%zzKY_nNhDwU^3-*IoMypO*Zpy27Cd#`AJ=8UQ`h~mLn2RI z_s1<*@YJ<9?qtM1bv+PY&w{6}-^G1d@YMCYcsPkXb^SiBI#+MAd^3A6UPL0_%>EF6 z$bzS?KgJ)En5V9PsvbKO?=nJ9U315kO#K|^%+pJjw+McTn~|7G&`(_t$3scX{8K@- z`Yj&MqU-Q1CBMhBSacoMRdO_5Od@r7EZ#^Wb$Bd3N+NZ5EY5pXZ;#aBAMy1hQa^vj zy-1{fPQ=p|>Q-{D^;i5n3+gA8%px)MbFSLLoaEq}rWMBfNy$$nQa|bBC`obpnU71Q zT-7R_q~4+)OV3i$j3mu6J1IXV@6@h6t8Z*~VZwB3Mop8-wLkNoLU& zN^Mk47LZ77oR#c*Pw$1)#@Wd?EU1m@$srO`8@H<-tDOWZO)Jz!og^la4AxItkrb!9 zoojv}wtjLM%e_kUFT~bQ2C!^uWMUd51uTb^=$Hn{i!5(VF<$~UOct>eDbY`y8z$RG z=xFWH`%rdrQ!Jr+LZaEGP9fU#;dP(^>A|ea}l?XL*$OJumr~<@pcHzBfs} zW?800?|YM^Ltrr1}V|&@{*k_c%I@X2T2NY z-(8TCI!C=p;3pN<=>00lJ@iISsxiq~B*p1*S+nFI$zyr!5=aY{O&6Np2$C)=UnK9O3B-L5!H8mrpWs+fOsK$=&=a$JuEW>{>W2aSe1&ym z%PBmXE=cZWsa#Zo-r~L>8OM_8V{&?7@&Zc(HRANTE=(4)^emz7(5QLrqGSzA<5KE( zEJ(g!IsUNv%ZEx@CqJ1@_-$oj(+^rk*cJu4Z{8Hrw1L>BCa-e6!7MlKWX6Z*5}QCKFgnv^6nplbI~tr{tujs

    5!D#VD|KkrRrLTqzcQP
    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

    _h-ElTOW$a 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

    ~ZD?pZ;ZP^Y-UO|a^nfhf!o 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%0Dv35WculD*M(@2qc6i!; z8@xnzu(B?LJdqb%cWw?mH}z-xcNgT{UaMCVsm(4Da&6QgO16wJk`Ej*ROok3^BGE%!m9}gKgA@a?q8tLl*Ug z5rvFF-GjK!T80yVohw7qf9YCGo2S5hn#XJF2GgSXhMws(@kIaD%y>0RMQzh(=0T8a zDda)im|}L-M?Lh+e%}y_xkGuaWZ#bByR?0vM71g}>zI~Wjb0Y8xdV(w$*mm2b@jDyl(qx4jrwusz0>xivF09^o%h5vGNo5<^e0Lme{JWNvK=w z4;g51Z#-ok&LWeo2-wCO)S9d9Ze>)xzy;|FBkT9&$!@ncs@|BHtD@|zw`;ZowWYs@ zqwjB^aY{d>+M(vfLLS2N$c3_Bg*=2hJtcA?@6R%w#(m9PvMZzqTOMM<#>x9)B-lBB zmgQ*PBfrx1wUV#O^4rCEYg-FN1BM;(>1m8WgWFyrqc#uE-PsZwR*|?FtwYue4Ho2? z71#^1AILBgtelpw$qBx`IlY@UMmTd(a*4)AL!beA`R8cu^tRGM*UF+nS!RD;)EQv! zp|@yuGH|G!gr0_5^$tJA!3d&f)s7ij#=NAUrKi0fzzUgV2vl&#OD+g4>UsRwY79fK zE20lGW&85rAM`GLlIwTg-u0e=JYJhp`_DBdY#AQ0V4O;C#|&d))ZF6`;yXBn^Wj)* zPG~b%XnJ;>u%j$$e7uydngN>iaz}WO^MSwnwV3f#XK$4J^8xB}9eT)>yM4gNiYy3g z?(|`THd|)S?W87hW(}Lfxge~KSF4ot=IsD6l;dWbXA3aES1Rs@|gI}N; z*my5jeTQ=6tws&`QK1IkqTVQLnzqKGB4sv`1LjVlTPbZE9wX$%&-QIJ;5Sxsx91L zK6|q3OrBORsO|0XCDT@|aX~eUfd*)kdCh9{?W_1fHnu(U)a}Q+ce>hyHL#$~ET$tG zuqe*k5y^aek7et6KIP*N+M<}-x4T+$7OIR03Xbih3?~7YQEQJ+8FryMad|tYVJuNc z-_UH(cGk;Jc68OX&8pyfnpgik@_OtT*c{uA^ z#MYwfL$6PXPUGFpwrb7}cOrsmop^(uc?+!k0J*WJdJn7hSXu0`JDUFDRA}LOpSmeN z21<}VB3YAK)4}xOG`76fKvHt#6K|(^>x0?*bPtF-2-jP#&io$p<=v%R8tg?Z@t!@a zRazjh&SM^T#AGerCKkOUWd_fOQuIBZQ`2V&8ahzMU9~nQe{f>3R_Pfps}ua8e2<0A z9K9hk?oF#}Ps471vOJW>+thEUuEomLobI)DL{}cp+xc&kLVPDO!Z$=^vPrpbV{6dD z;cVWv?5jb8(^lVd(ByEtGFk53L2Dw9_b)_#Z5Us=6dL4%mhJ*FAPw?8I)xee{UWZKp_jtTmjo+Ce4D70&M zwyqX2_6l##bT3WH5)z5=1{ib%yLyl*?%*PKaA+jy#DHQ|CDH!S$DU~zD5jx7kmLP zx-qw#kxxj1XWiIKqVdcAb!4}YZ9Fe5G4XTsm^cseP*2l$L-o4vIJZ2CLyKGXOvY;c z{Z!5n%Lm82slOvaK@_(4!XlyCF`>p%K`H`}ofnY>qO#o@M<^s=na)X-+r-1F)=!ty z3(K|l^U$|sin&@bKX3^acT_?GDkO%3D1{#9#Q@>mbim;1AnI&-W|&iJHd%yYV#b=s zRNC(1OQ@#5P)k^CQ*Q}7tN(e)#hgZqD&p5Kd>Kk9rq&+ndEC6UsrS)c(=^|ZXnx?_ zp!prI9`yA(eg5cA;x3S$DqI4C8 zAMRfIatCfnvEeo`i{Q54=Rc}dp2ax}iq(|AEj%E5(AXV@w*zGhwJjA?FR$*J_xvEL z@5O0J4vXzE6!;Om7poijW%OqV-K^+{2|2_`eC4uu99}sb^p9zG35bf(_Z_G z0Wf_rY;Txm+co?Q-4 z$Mt;Nm)JK-$E7L9r71tqzdzC++oplyvSa4=?s*(g| zwxTsdZ^Pln!BD`gMM^6I2xe;Rgw4-{pOYWywdK5)lV3j&uJ&t8DG6$Y-#^Ogy1o34 zrS5S0tEl_(_cdPk((hI>OY)vMlhp5tG}bS1hFJqQ{<+70QEv7RB@tL@3+V}_6Q}i1 zdQbwX4Z7Xw8rE{&;mXIFgD~&o?v{R~b8b`-hkbTaeS%BLIb0!wy)$W{w^YC5!ojg| zRBh1R&EcWr8k&|3UP|E8fV11f1uP+;b-LoT#2yP2FvMb`KarL2)a^!s@R@V~?WfK5 z%z?df7R``j#1oUI6pPl;zl_dwFFn@ZSNgl9KUx2mex$$e>CcG|YDf1h)&m#VBo~ej z0gG8O=x-@pdUuDr>$|n)i1INU)0EgY$?h<(M8;;0r2s(-RKyGLk?0@KC-2Ke!4MsS&AKPH^WL8KsINMFN zUgI@t=CnkceFeU{{@S*4VBZPW8Hq`gdHKxkG53ZxZ-o?k2)XbEEcioX!E3ar?3eho zlA?pq2Pm7BwL-QunmrGFE9;BUNt{2QZZ?5Ngqu){h{d)^fSqaT5VM$%O)AzTA=pIx zV~c9in87`q65L0^XTC@ge5C=T@ryr?%*1!>! z`}&6CW554EC7=7wK!(8>vj$R|S_5@kQ?z!d0yC|)y3Rd;anej|m>f_`r=}!%E4q7d zg;~)h0CGoo`So}8Ek66Mo}fm*>)b1Rmm=MDLoL{a=Z=JINpK-%)i$V2cj&h66279b zoLPr*#LP@JIgznf2o@EHy>wE2opAgwX5Ix$Pv~z<%>DZ+)t|meslN<` z+$*2yUp+f+Vht^MN31z@;dGu4PL5-kn{Lgb%oq%=+{^wGa6hD=O~ zafR(G$E0w6ENp(}e&R9H_m}idc>jj}ml1m9EC0>?$>CT1kR~*o7yW<3^nz!|M}BJW ziq%LIy{_rvE#5?f`DT=3UK4DHa7;pER&4Z?h`Fp!n8YA4MaUHzJZx&7)Qj7h^p8Aj zG!ms)2?PoqhBqCUe#+}J@(GAQ-UinA#MciV=`rc*N%@nEAVBzT(dxSz+1nKkk2H$= zs$C|^h|B3O>P55}tYR4#n3-%u&^qSRz)T!k305jbg8`Qu|3HbK7FeK25L44=*bd-x zusc}Nc6ey9t!iW;Q)79WhqCeyMHwtAq6jr7{S4k!-Uh5K|H7!r=<478trf%n?oc2M1c0oYRGYbCwt~h&EpIjD>ntady=GXTsJU&&~ z4aI0zmG!%!8lS4hb^Sjj3f@rJv~Pb^PmrIhdV0~fnDO6%ZN3=wf2v;}s+2l#IGg!x zzL5(Q8JUkje={p6Y~wz&R5nwysuj4nDLpYF4%}pm;$f+NUcE72n743!EnbWrl8qTX zJPu?QTM18?#{qB9cA=sWoM6^8>I~|%$$UOjK}yh5=HWz73RuQH#&vD_>UB{aU1k|5 zdpRmRW17q$UJ?`{HPdL&bW-yabC_TnbOfe7=m+={*(Bbv+<$0bQJKEGG{_PFk;C-5>bL>cAVk!ixDqzpRML_`I3Ru-mj7cEdfr z`+Gv*`|c0rdz=%}Zz&b|GXePxvCz-d&34LOckjx}nowK&)&~6#t6px21QSZ5PwC&^ z)!%2r3OFb{p4(YG#KD5HNc>8=xDo>XeYJTCk&{6b5r z2IUcya|kFfftCy*$RTygS~FsWuRO0Oxf?L{l040qe+$Ms7=q<@R4azdV|(y8FG*d` zNX@zr`E^~4L6RWF?3lB5lQN2|O--tAOf&m$J`iKhsOQTS`>lv$6poGqD}|Bc79ft@ zq#jBQ)on`A0yA!Do7Ol{`%#%19@Iw_jC<2CF5EE$;VnbzeHy4~vOVBstNI1GJcnH&f$y@|2E^NaY$*ug>E#BD$_C9Zla)^k68| z1HQnd1P2?dvA;u)&<@>?B^YYl7ij&y7dKQ5;pPqfvTzq~+5F$0w0pas+OYhK!4Ed< zOHoye^JfO{-@QxSkm273o_?&X!9q#mnr*=F{K|$BJff($pjjHU_u-NW8}(pNoab($ zPNFW0U54!MH2n<%!TL%)5u?!%V>?A(@K5B{uq8N9MF#6AwXEi>G#8wQ`7=IKxyLxx z!5Hv|88sSMUGe|nP>atSD&>HymAYH0hC@H3DIIm{J*P*MV*> z?Kk)3ZM{8U7-H0Zy9t=z7@ulnU!^^mM1~cM-aU{P#mi=g!=zwhd`-KM^jXw*_AuD@ z2}wfG{F^>vuJp>;w0CG1X-`57T@&a$jvhLZ);DZJHX+n=yF(qN;FN6gsW|zv$PpRQ zpc~wuz0-7|ulwmD=e6RE5)4MrhQAgT9zJs?Rf_>wSi`az!R0MqcgvlZxu6b1S@q%4 zV>#>rDcfrDdJ7B!tF&fl0WsO$K$u8okL)N|k(ha1y`9&PFmylA(i|}UP=5qr>{(04 zLtDHQ6as-#z|dNp(v!y;0|^bn2S#vPS`N!?UoS>`OLUBRSv#MPk7=A@VHJU` zZGsBH7&C$rz~hc@%n1S<`+84)9d!^Xf__||)0&USLur5)p9X%p<$d7b;8>rpOW9cH zj1t7}C9#AeJgMKdvkV@_xgv51M#t)W-}Co1&ll!4jcOzj=TE#$5tEqnVVsNFBu*rt z1iv4M&wnU>fs^3-?-!Jb@Q`6t6EpakA7@Te(oLhL-F9Z0SOQ%_YNFSi$C34-)VQ29 zxCU2^Eo#go@nFe85n43ZEP=B5th+88&c-mfrVH;#Q#42X74=?_E;D~g0Kk@cY*s+(SbM|XjwJ|mb`FMyqLG2PWlY?6?= z?Bp9j7#B+*1~mkncnwAsoL{7BLW%UaeFa`&B!=xReY-9F8!{Q_1m?n?nucPV7S5N= z+6jH15}nC8rJGPm24fFxQ>m@?q7N+zR$eKX1hKIj@V`kAd6kMzlSLwoxk#)Q_5crdF5k8N_6WUxR4FUK}b;QPdI zm0EE&CX^V7BZdP~-vghQF$OOgpV2S`r(2q#$Ul@B^{g!Qrpx(47NazS4fDq`f=OH0 zdX3h%{%A2FO!1eXOdCY7&wXipAA=1)8zeaSEB&Q@E)d&m+RWLw-fn?!B?b|w6Sc%3 z`CT(Tt~qRasK&kQ@i$HMdP8TOP!Fc{SPq%1WUYM*x^0yY6vLk*Of@YQIUDV0`i(8& z%$#lcF{_IOMpnbt9HTljVDSl1;g6`Nz>v_|&Zfkp0^}mY(k*@BI|Ij}5&UW-jyZsb z19#vxpeOi4&Voe={7;6t*XWtO*Xvk`Fg|b?(z+%3c0-s{zM2KOW}o;sk(Pt>k+vw| zLNU|Jw)ll^f{W861N02b??`gkOa%okEe7puE||kmmry*?8h)|4GmV$(*JGaYKyIV+ z`<@S&Ax7I~(ITCqTr+C8BlQDGt^xsnIQXsYUP_qbvhTRP$)qH;s}T#VQkXfDD-K!& zUNmEU2>KmP7<+{n;Itci zdOtX;BrZ(7*%agEqZ*9;*sC_21C~Pz`5}}rED{(N)lEhU^aJuKi=^MXFk~Q2cJ8XZ z-SLo2`B_1ua#TS8P`pfGPJ=*Ek=k8RT!x2nD_P7AA{CuL3SB)xSTV75+{SzAS!}QHYJkeCuP%24SOFDnb7Q zT~cYN0~ZAU6u#PkUwIJPg)f_d_qX1`I3HDH!*e61&cFH{SkxRGcZf++T1-4eQw zydh(<35n1WcCiqHAiOabii>Z`3mHBWgs=2x!%od{)Hk^5p}(=}eBB+P=r1|i^Qp?v ze=}0YZZ}hH#BsW&#|C0AK#pvLpiF8)Z*cF9;h!lIXoHlw= zZqIow*zag_sy(}?QO%0&udC)YVQTxZ0;FlxE>D$G+oo>up@Hx+5XR+vH}Ev)Xy{QT3g@EbmCaob&5B z=lt3V2i=T8*;07TZ%`E59SiFu3aNo${MO*#PN(AGaFU_3I;v0<|t` z%xoCFqHT+6vEO#w*ii~QJmL1{J7S_3MqL*V_qtcC4<~Jx=0+t#XKka~tD-Zp4iZ4r zvMdacmu0U3Q8Os9AGxt3uU4MA?K5IKfUN}}HSWZ#qBNUXp(HbBUTxTgEzRr5+j zhf$7 z_4!8i`J2_}o7Lyv;`6XUY+ImouUMJeZ=c48>z*6kUNXY)x#ff05q=YW$J|=n=@Vv> z@r8pi?&%zpb3(-8oFC`?UabmAa$1*vI+m($EVoN4lTIT0t3l=i@L9 zd5ue&aaN`bNe+oY0L(ueA2KZ;_@Uu91RY}aIr3yY`Kr9PAX%nsQ~5Y2O=T-xe7-6u zcy#cW5fwMWZhgpP=Ch#j!qPwWO=tJkd~FpEP`DWGJ zn?G@Tp;J@}?!dZmZ8%!{n@`;yJIKZ?eyJHue}$OG?Ki5yW7q>6V0RclJ>Ak|7;G^w z`z(5cUhA@dtKu2fNZ@668cyI&X>1g>oLa1Gk{68Lna21EvD1>EnTomR+hEM$9*N^CxYO12h10odzSzxu7VK1nT{l=vTQiPRhX%mbtFiVtsdvN zc&v#>&ulg7J^3ej#dN~c%CBqEnS48k5faRtsfi3iavOpZT!(B>2q|)riihP`#3QJ* zvkM@IqnyJf#lWD(-pFxnS9B@Xo)isIa!&xBK}w(=q+Bysg#{@KlR{EBB#a?$WCasA zo>;QqYB93%@MfS*8kSAUB+N^w+>^g!ck(_I2ijT!fcXZ=E$0u>?50>cv-DdV(9kt2 zLu|^!uO!NgJ9B7FKOx&=sDcbmg`2XR4K)}TZ+VR@U;#GyX>tQhD7E5x7QK!=^)C@Z zh|6FzJ+)3l&ZOkcE&Pcc+Qt|5CldV7?duiSpy;jDyT6UXpErMYC zcfzMO1go0wNqfg%0hPvodAY_WCf7vsUF>&QE`B|OqdcZEcr+j}bsj8t+ql-#P~y0{zdibleoJ+CCC)irgb%){9rbpt-9JUc1qI<6mz!{;qA zVl%D6Rt*;6(M;(TbhdbJca_+t#`pv#ne=RJTM6dtFbOU6ne5t+BoYt=7R3$ZI|Q@M z8YV6f3s(;kyGH@b@JX^7!!Y9oi=|DLDr3^#T>O~M3WQ|%IEV2{W3~!(Icai@{`g;o zF2iR#q2i`-_Nkd7Pw(f0JkgS2ZDut%v_O7Z>biIb8RJMOtFveaj#Jo{^C^`WQNxkm z5P?S0=K3c+;MZ);l=8NNv`?0ga^j-H*dh4Hlly^2hlv44rrJuoNNA-*1L^pQHUmAw z=QoS4P}z2)ElM={&C=ILXZI&B2LgxBa(Z`4cE0IT{LK-au%?|a-CN?eTX0b>X4aw} zCwCdNX1hQRV-aq8B|-3xvOtlQRwAm+Qbm}ZNTV9uq+Vi|Dj3|&uq?Ty@^m zse$J0^!}zu>!cEYt3K(qC})I2BE#veD5Gtzg|ae#`c;#3?P}9@JiQp?Z2FP;Iz!vO zmcS5veltd44v6il&&PK|#>me6piXBM$KmG^v09M9)(8CPuw$8Ep*hcN$SD7B)(U&> zn*oXKttG&Cc6wSoNQ$z5kkpPz6Z6Q&>)tDEZ-?mFm2qhZE6 zj8p|`wsYh##(Eg(8k{yk6L-b>z1`z($_~zFFFu9Nc<$!R4r>UUdG40e?bEB9md}@W znwl$G!|{er2%D_KEb__jim|7E#fDA0do@=ymh;P>h2|%v9$C3dH^2oJ4fg{#2^GZ{ zm*G7RgB)cuB~CngLn`A@l{t*5Y80|98>D^PL9JU}QQuJ}vkkxYJ>g+Qe43-v8!zt7 zZtMRuwMV(0Yf;q@I_<~$>PpN7I+k%aj#lrb15M{k+9vYH|FW$+t|tuZeZek-u2?O$ z9nm3o7=lzw_2xD)XgEtpOjc8rKeh7;!z6T1`+Q}&$=6mpEXTSc9I+*n%8kN&q>^K{ zGbS($udtr9Stqt*mbc9pJt^%8XocXrnHr*>5De#ad8%#5q03aYCv-F`R;*lJ64N1e% z8IxBmxUhSH!jRI>K{epm?s18g5p3*_pT=2X1)1G0_@Auuw|TB7#qGAf!VdCYcI-v4 zsBvt8P&xj?`f$&8OoLl-5I-wIxqWw5C2$4L|#>N zQSOOX4V}rE^hYsLPuz0dD&0$I*ln)gySN1VCmynQzWm8*ZCN>0?knPMUwh?E+*>r} zU%i*@GCpd%!N{&#oDgFh^04j%_diei+mC-=5ZSZD{m8YS9+-r4S2#QG z>Jc?_B)+#P5`0E~t~Kh9JKSQI@Q?(*r7NeQNlpv6ZaDni;XwI#41oB{ zFnm_b#%6*{mQuth=?7kjM<(rAyaP90N#SPNEOEil zp{el>^2Y{TOA){))+>Q!F1tLT7IJ9^(Cv~H<8e|&rjZP8x@%i_`LkZfP_$DYoT5xB1T>UUwmZ%Crr zE+eor@9&ES8&cc^-tAY8v3uRF6)TVVTdKGh%FQ8KuN-GVyK-IrRn1Je@fIh-?!)L$ z-jD?`ix6}?gtsUx&6pVe>3*Yp19p}4zO{1`JN8sQ%D077gR)K-Z!~o2{aZFEaicFc zOW6MIYC0rz?|7m6FLhf4LXUY4>xJ%2KAj=Acuh58z;7nsolEQHHB5vM0(+4r22tnL z^rDSu%J2g_}3B`o!?MiL`!q59ZanyJ0QXj%=_ZZLY_-cqFXSvdqER1Iu!A ze>o5CmD){0RH=bouyKIqu)DJe&;g!x?FAbrMTCT8q$u-;c~HgszgANRtG zZ9bUfDLGO2{974D9T?o}hWL^2BBwm>N6fAPUWvp^a1L-Aqh0In>$3Vl!NCuU-q(lT zIFd%GZT0urp#5zN`d7W7LnSC?H@3o^BjubPw9IE}#&ZI4$(bBWw2gM|Sj&JbOb%F? zh{5%Lpb;SS>Z*^nZTUQJK`*t_%oaX5IQa20$|MH;lIr-a{wmrBLY=@Ek0eb5} zoBp!?Z1DTb_5kpE=;3~{JOK0_7A%LJ^HEcF2k5KEybsqGUX5uEG+BoPFLm?maJ?~$ z<~Mcp)WhEyz9;;gj(%plM})V;D;fy^+dY5|nA_5y1Nde-@rkGUz}pq`Lhw%R%D;*M zw;MNG3eH$P(m3q?yQ#n63$y>Bs~!P0r_s!>(hUIH*0BSOsD~cOWur~U4gh}$9XkND z9hPhC*1EUyKlF6a0g65nX_22!71a$+a$Y< zE^YPN=n^r?>C)D|7~^^NpASoyl!7%~&SJSu-N;*eJ-2|2)@I$!+Zr*1JqTO@nX%BBs z=?_2GPRrW}J9vr!IP= ze9)gBA8msk?QPoV(OxsBM|+)u9)~RY#RtgG)No%CIw#(Q7FHac?pfl+ZnnVT4#&Jr z4neP)J#?`X##M254PzfVk@%?YV|Uzw>-J&EveHV|;^V;I8~&cD;Pq5bbi+!4F? zr~}6CY0qbHn>$RK041j(OFo@tPyXfa>1s<>x<1#x^8#USCJd>kvs#dSSJydp)j-UD zqSYy&e5Q4X)A~eBq*u^i(i8Sxlj#rey6c3bYYElNP@FDcxfA{21k({-Y9fU;&T=`b z0Tpvm#DREeVrW4dLI&xve znW|~#>OS{A5a#h{ojYuzhcO6A&ARSBo?x;Njmx6D)Ab|i6QzfDb4Su057WIuqU*k% zT}_^Go3Wnh(mX`Uf)S&iL_=57F~60HKZv=?lXTux>Eg2$)j|vjOxX42#<>?6&b7Ni z5W~PNv;O&pBt{~9{EJGFZAbyKuz)H`T^x5Ja&Mr(l4{+R0yEqMPiVC?_@2A?!3lrLcA&wDx6z3jpg41l~;ZZJS3dX9P zqx?9I&^rbqa5im_3=*jB?LlB%mEO*|nHh5L^rA|$tdQvQz3{@Uhm>~YYd7BhyrC_Q zM{R>Vap`7$$&5Q5byr7?S8jNUxqXecr~9?7xvp=`S_ht5A80NYG>+7nN;%8zXO5WN z4Id&hE_WzCEBLMIu@8^Q(e2gabW4x%S=poUTAv=z4Z@MxxQ{oflJc7D$?@hW(i*Za z2b;^2p2rV%@cu5e32*szM>c!Om*A38x5b%+lLfbx!=>Gk`Dg_!q2~7R&hwkHLrX~B z@n!W+zbPFq$X>A&<8?za?-vCRY^y7EFF%s5=l^jn5p!MKy=H{TtMe3N4AWUX5%(kU@nf^r`^5E;Pv zUO^({^cP9TeK#9*u%KCD($hca87{*`&TP>OKNnBO?E^lG<%G=MkMY#0TPbWPTe*G6 zNNgic+#fD%w%R0u+=1{6O8^Z2bT5}7CcpP{Vu11D)pA&FPS8HkFP34GdI!R@92%F{ zCAIc*lCglcFSX2DV0Q4j`bs_ho5rC@h%~Ru>N(Mq`vSq2e0N|$*lh|P+#kGg zxBp_}Dc&)$A0DeBnY|XY8m+|D$C(=oLc_D%$8vjSv-WviBCQBLFN0pTuTvLA?`63c znm+V&aJoz~mNI%YoA=50^CpoT5)nh}#n0Q`y9K=UE_lZ&iEoN;fqooZde(RuZX^0Y z($@6<^pc{$i;9EY~BRG&LaL}Zutp}VfCr4gHQr0x;^+2gtE<_+ zkc6)bYTTeCzS^5|oqiue;$}7b^u%VE+KbYQdYTa2Atb%E{&-vc7QWwa{2cXxu-Ij< zND_tphW1pmxm_O$H$QuaN}n*qgzi+dZx*MurMrn3Oe&%OVkYxwQ>O%Ch}*CaaF1=J zl14uidtf;MZ;Ddsi2e8!aBAY;A0g=#H!c;W$Ia5(LIQkczaB_cD=9LmC!J3 zMOzkK;A>vGg%t9;)}(vDs&40TEcD0z=ud|@hS;80;#y3P_eNw6^=n9b&;T_Sdu@K} z-*4m+8xn%E!pl58_&c3luQSeK_u&f0!nlI{GkIv#KYCd(Hbsf$%Etq`=~^$P$GiBX z9z|!3TH;Q3!DvY08<8`*dCz7zSzda3xK`Oh$E88qHfMKJTijMfX*(7oS<`08E`B$B zW6sYdqs;jqUWR{|zs3^9`G{%W3QBdP>fh-lJ9!y88`~APnYlN+=8YbE=*!uNY4ZREGL4Bqg(!LkSTZd0#kqfCaayE{xh?1&`FcAmF=1=L~{PN=5h1 zaJ^$c(b01j7r))Kk@>;Plq>Q@YWHTdt=X0PipP4iJJW1OZ79KoAZU%+9=w}k(+v|l zWnL28!pvbC^|Ft52EnMa^+Z4Z&Sv7x!D`!PRjy2^VzhUMmx8R{neDc3U~)U9HXC*E zcH2C*E{bsxGu&l7Mx=%vsI|$>XNMnquA$y~mO1W&@yE{wy9Hat>iIU|PsFQ4dG3gv z?!f~_3z&zyC_X_}-I3fEwflZ+9y%4iu>l&NoQRsW7yhli$g@E&=30iE>Fq@lMg6^n zG#xh_kWsco;8zqiPIZkgG z(_e*7)oNjc5wyKKwN=S`PrME>6Pvz09?ha=FmQ*R+U($tvvXc|t`!?dI%igEjH#Yf zj8(12bsM9;SS-~&UnXRg z)reWQE5e*~4r?-aP;+>28} zF|J8sW64puQfse&OEVYbi5j&|Kh!v}qpbGz@`TtRN6kJy?;+%=)x$kKs88fh4dRQq zLvVI$PkOapyO%5;Qg*q$%qer!UeeRkJJZ!FKCk_^=|RR7=Qe0R@|`jEaRYj4WCP)l z6iTWK5{Q@5nMv#9aZq2(W}gL4+HZo}@pVaJb0kTPiS`;@@cNEoqP<23JZ<&s5eN9! zWLmsdbAdMY^=i?=H~v+c_)6)XH8xJBS{tnEH5IQZ+4A^-Xvd2)8|x;Av6fNi=dIDj zY3p(w$nC<4&Ec)@nhxJ~Usqoi*SbB-nSGbc9W+0$5rtL0Y2$f|_l0eX-q2v1%ZoP0 zn;u(HW1y|sMH{UMmzi&kc-OkuCE7=}m*cRHYOCXR+5A#stE0glv7Z1)&7GJ&Lw%f8 zExRT=KY(5PQg33*2S0*Wx6^A>Q~$4Nd1FoH5sS*qFIK()e1KhGe(IXzXdatauqF~n z53APo{A+4c8+B9l^a{qpyR7RUBGRTuiy7x)kFrkP$F}SCExQrxGQAu&_t>3wQ1zIR z6QwP`B;4Wp^@!E+uA{7VuW#ZtZD-c{`9gIMem~n_v-Zh=vsR8g%$j+C;W&GZ!6D+t z_E{rW-gVf%ZhyEbxpmo@Sr6HEcs5r*XEh>rm|m7-xvZ|~^OSqDx<{Mqtg&1>i~Pzd zK5FFtyu1%CT0JXwbH?`U1_>N){-J*bv0j{LzH4~q4n&=MLuIzE;*NG(1|KgdcY!@X zo8%mC^Yn$DYHj9RZ+{;iuzk5iM?~vx4=utfxYLddb~b3G@JJh$wcThft>?G3G-N*9 zsW!-Fzmv7h116W)&y-5t7SO0<(N-TSo$noEHK`=)u$MN0PFRZvfl@Ee$Wpldw)2U( zCiCR?qwA>6hJK~bYAO`#0o`M$;U4L#Wj!Dha5=HQ=>q5pWkq@ImBB-fWtZ56t|&5l33g#y@BoM% z(Wwcn@pbK1;A{aI8?0VOJsqjCKHt|T*-OiYV!btQhvRBli7#<^iLEq+V%H4Y6S+=p z!-5^e{c+{6Qx8l}vu~r_D=soR%E6&0O-FmWpC+amtZk~_ecPkKn_#~X+-CA#=d=7C z3%jSu_O6uWVHcb|XGJ{4#9heshvlE+%0rAi@RV$1=!g_g_x5o0p+>!z^3rf^BR&Py zr-y?xEn1={H>82gTKi*2)4i#k^B(qN#lt9QdZsrN+tFjv>CW}8YqNvBA<DceZzn z6f5rsOf=W!u$Z={j(-m1`e=I3+P3p5*=72M$s3V#8~5E5-f$|llGQt%0YIm8wVD>E z1?zr8wqwP)H+#1zOKWYZ(?qEcpUXzvr+nSxiBDf!_rj0NTSC#GE!;$}J{msErCzm5 zJyF(0t9)VmHN`jOj@MMKo2Bl2^I2PqkTLgrZzp=UDfZI#!Kr1ZtcK#3^p z?l_bPIu&2yp=OE~1=~}3V^^PDj|FJ#hH_Vj(eGYi4q}QgB{AHaxgr`w z4dZ2bU?{|>olrg;3>Un|um+T3lD^x;of#y{H!F%N2XK3kx+Yga{!9I2E1eurB^oi` zgHOMIb7HWJT!qcYgVj#8QCMd+?}gse6&d9q7Ug-d+jgtm zQFgqS4)d9meW|YUPY$I|u4-ns7w08j4JT`4#QDN99^CA3&>U$7y#j ziUL&LQ^RTB!~nhctZ;`Pl$15R9-oWuY8QR0MmwG8^?LB_1!2!#Ez4jGrQ=?ywAb6u zpeGM?O3DD&SXidU%eBsiFwcvw)?{af(3UzcQnWsV6gB-tS!12~OMSv?(l_oO2q7x%xbdmnyX zw?F)$Zj1Q!>bu)@QrG&Q)HvONo7!3NkuW2Yz+d(IxI{YjzzKVeHb>9g$To!59VDnMG)8E-^~{xiBncYH?% z`#9sVuhd7c!96bc>MLP2c7PYK*`6=flo*pv#~o#!IUNW8p?8Xzt}ca&XNuif>>u-N zRG=NOxO;tB-^dt{**h4HT8N2e%^rI7 z>DsR(2MUBMxq460vr3LE#?!f9Nd?iXT@p8XslZ3FsNsh`YB*Q@J0{zLSDo&kiF;7I z6`3Dgd&HOYS+;}~(+}iz&4`t{_8$2@UVbbs<&N81tMEtDUGHc04i)fY7XTSMaxa!; z37#79qSig1zB_uU?M)ox{O&qe zK+NV07KCk=q>no}IAS3wJ00OqC{og`o+?RZ<;_uQNAZ%JyqAdl_hy>G~>d%V*cq=zMc^52eLC+w{B zN)Dg=+pj|ocXn8kjiSr{qzo}*T?8~!70lkU!xQ8bYb=*$NviRi5 zzaC8|`37PZKjL9C1dOGnpeo@O6e#M|UapAC5>kXy`ff>~X1!j@=dWS-b|$p_t~=ov zJfC5srvAU}si`KT88Jp>#-9%XVAQ{Skr}lYWB%2*hcRKq|Ld2D5yf~v9h~oat?jU4 z5>+Cq&7C`|7&NX1kv|IA@GU*RtY0WiTd$m>#nV6ewpsPzNM`CiCuJ~~rFtKZv;lHX z@^;wx6pywi1>Yo}Vz{Y!tl&H4@IX2Y&2Uozr1oj>>rY49qM!*yPd`%(rPrW8`Rl<2 zHU^N*B+9c|w&4by`$N6V$^ZRLG$+qO48%p zjDAjfC;!`%)Nw075S3g5JrCAJ%jw>*?O5ku4lO5s(cZ!479F#+KmWFI(g#U;vfQkm zr+Xkk$f32Rfl6L(C!s-TmbFU++&cg5=hopSp;sQRNm!<>ZP#BQxVP3F9RIG~y>QaY z0{gDHlkOeehw$tA-f<@3>C~^}W6-F)ZK~k+3%}y`d=+I_ewPN{Gp!xofoI**Gr!`> z!MGCsoA?#~4a$Gww3mL}xt|a2xDBJ}dqo-l-!C&q!=?UhP2cVvKf~~fIPu9}jGiY3 z4bO%_RkOF<({j%if$YR!ME6I7OMkE23(of7w+>n~a&PoA{^G{9!xJb*D}xg@xW#!i zgT`6;_S?nL@~8Q2!;{`eBv1bA>k+G7M)%*0Ufc%NNu!(@6!8D~bujbSF<2?+r$qLqD5`V0@5$eOUV_-mG5GIBFQB8amHlSW*8Tqa>kx+LGdzs{zR}Oki);J` zn(?P6zK$91O|<4V&gNq2s1CIBCzAN)t+R58*rRN>&fY8TH144dp3Z#RIBuBi&Twml zy-18>`r)^qQ->pNueFd~#1u#0AKX&*!f8$GD*4&#P2D)wxgvNQVHi}~58E%1?4NCq zMRp3M(ZvRwr;OL?g)183%PoEhV}n6RVzEKLn!$N(rulx!V}pK#v)G_ttw3H&<&DTk z@7HNhJ@n)S_0jte3MKcA_0jte@0ZR;?@tmupI>qxy+4t}H}9U+l>+P98_!KJ9Is>7 zM}DtgPo1zdxM$KU|DGQs3~#;&_vM0xMFWLRh!JIjt&ya8k{|K^$5%&Tz3HT-5mmKv{Hvb%^ zHic4B_C>wC2u1V1Y>)Mt`P>)jQX&}U?|mH%(~Cj={KaPw7~)@l8yErx_-9`S12nHi zGi88Q;qA=5804S47zmpR?1$`Myg10NDMsu;*Zs}6Qk3ts;GQPli(_w6Xub)dD1Uie z_j!(;_(b*XZ4mLE(og+7^WHOmAL;3Fy~BWeig`;l??E`G=e$GfnBE|==zsBi*^Nzo zq~EmR?Rv*l=Z^jz*U6sm>pUz_xbOIwY8s};d_64HG1WPzI%AgxgFrML-V3s!*7TRb z`H&j+?j88GNHyHwBK#{2G=9%P98PpC~@<##V;wryrgA^!7)?_0~2j76*=rD!hBe z-mAfaL74A8{Xh9T!y(W;+-E}L-f&nj*~?-fUe^ps0z(*!_ZjjjUS*PA<%^I#@+9Qi zdtOpy1x*do0S>=NtNTOKtCUiec@fCOE!-id*K<(UZDIeMPi_ zF}FO$Y)tXqcHTTSsXv>IWz}&Xg2PF%Gxu%(fm-q&>q(W6+2mb27}}7p;q5y_B)om; zju(aHx=dK_<^GxP)h{`6N2mn^HaG%xU2xASN4g>$-Tp~wVBRPQuka=(-bcl3+ilr! zOa3;9AL+g5H`F&dR=4|>@W%FhrhX@NC;h6R-&cvov~NhGFQSM{i&057_n^@@YLM2yKJ^TfUbZK2yQ8AJbu7!{BXw z@*1vX4Ky!(T_sG*1J%Fh$AGFxiOndY$~jg~N`S{G0(*w>#@`bfgE=rZDti$DqXF)C zJz7SL^5XL=rsZJ!nB2b5Zx{!!bA$d|kB-7}dkYuqV5k|ypn4Ije~wdv;F)#9#dGH` z_!&iLq0C)j1dGxKLS(IT1?%=3wq}!1s|(JZNR@%H@-?*vQV=jVp4LgPt)CLJ&WLX? z>k?I2uBce1YSmrTdNZwc&5tX*l>54RWo9>oS-eJnTH_O@k9iGW;7X`vVw-a_PN2Da zVLl&t?97!iHFHc7&<_%-A=Ysx;Bm%?IyHJ<5w571T46l-$IW$}(V#ml+)1I{oeOqP z{^76ykBQd?q3f`4QMdVvgxr(=d{`hmhuk$!MZ_Syqs2Y>^A`ubZcN;hzh4se*#u@V zX#M!^PX+@s=!6ait&PY2ljh7m8+`_a*N;N~@t}YPrO}}9+Nkt*2W>ohWSTv@Cx5S* z=3bY8ZWaE_V47+WSp6pJ9}EIyP}&RvYf@ob*IS!{Gvl88=^&s+i&oxajf!4(aYddL z@h8#g4fzUJ^~ApnbI%oNetaPBM$ZsY+G}yly5g7Ow&TH=PhjDlC7jHT<5c4kW0$R! zfp=K$0Hu)Xb|^WENhQvS60c=(r(d>~^< z#(J(Fx3_%Oe$ny$F7k8!$n)r_-NDsA-*P?KYa`X>uQ=wXaas00RaBXiyVS35KQPo%`iqF9#n13xzlF08QEy&t`; zVBNyOFC~hlN^mDAClrQi1j`G}I;W_UzbG#B6W@gHj#Fzx5YqPq-c;Y=z4h)uTMg&j zZ~Vc3|92+-v%k9ZU;RJ->L34yfAs%;&%Jcajs1;dV`G2wW&N}70AIi3zfSS*YnT1M zKmT_Ry!PbJf9*T3J^7389P$5uPY?d-tKZr8NT2`B*lSPzxjz5J-$;JH_ERc<=R2=` z_1aJOSZm+>JOBQ#`6l0a@{jcSFaO4OzN3%-Va(TfZE4@5*Pi^3`d)z2lYjGakJ81l z*X9nqX8(>5*pvTS9skwKejxhxf?|1c5b9hWDgGY_+MoYgj|mxcx?U5YVy zG_ov9%#@Uo8If5^mGWg&w`wLbM?H?V)waya-Y_d0H7nz2kXaS0hL~Lys{s`o4JuHB z2BJX2sz5)XOes^DsaD3=sw$1Gnu%$vx>as9M1vaCpn@340U2ZngBsMJh8R$T7Ss?1 z8Pc%leD~cKH!@$u)U0b4XQ^I%_vf5*?>+bTy{C|LsD*p&Z{1n==N+QqNIUSot~ZS# zN&2T9U5T#5{I=jn*ZzC%d_Saweu<^{|DAR}ZTzG5d)H-H%V&o;M?UT>e9OWwEqq{d zsQbwAt4=^J-)XeD3XfUyG%vyNtsnuq}_X%Q=tf!Vp55_?bmKd32xkNzZI3q)kKM_7Jn-; zH`_!bBz4uyI)XIZej|#kT%_<_9e3Mrwq28|zTb5(5s9{Y+V0(IRCOvyB(96wNCl}> z&vh-r-HyB0?na~#9rFJ*`9IRFf^MR3xWoUv=6^;yqmG7-yHd()9d{$Q-trRHjOI?& zWCO9NA1kfVOAV;CLFs16h%HW+iq(U+qCtx2?sIk9fT--Rt28LhFkow}AmNk^D~QR# zKrtrkLCHI0^D2nlVb^XDc*{#S>Zk`r$B5OTAofNZ^VWlsHrAL{4~m|Q)dRfcjo0gH z@VfZ@2eIpNew$y24z#zoci(TjeoNz|lY8%y+(|?y+#P%C&itRWdk>1*%@k!|Y5s0{ z@AovQD&s`P;U2gLPQVGc7w(0Va1!o=``~_SuS8@&kpu7moPtyEAUp^U!9(ycJPfDd zG(6%ff0!q7gve2N6dr@e;0&CB$Ki2!0-k^;;Ym1al^2N25;+A=!PD?GJOj_bIXDN; z!n5!kJO|HPz&r3Bya$)8!U&NiBKP5a_y9hD z58*?&442^-@C*0|K7x@FX5NU&)bycs!R*WRXOG>e}wYqF(Nz3+zEHX-7vm*9*28~?|~C=0`7%- zVWTq%_YvO*_rv}006YNGV$W0XAn}9n5Ih7A!^3bIPQxSc2s{dp!ej6loPjg&I6Mwd z*hVk~m>_bJ43lsc&cajh6g&-2!!z&1K84TVGq?&@;dA&LzJM>_OZXD5!8P~_zJg!EFO>^z%5qhX z*q(r3Awpz~3^BM9?u5JHZa5Cd;U2gLPQVGc7w(0Va1!o=``~`KA0B`Q;1ryK2jM|@ z2p)om;bAy!E0QNNP2>nX0*}I@@EAM>XW$Gx4v)hV@B};wPr_L^3s1pQ@H9LP&%iTq z4$i@|@GLwB&%yKXJZ#FJhgXPSf!E+QcpYAc3x35Pn~D^O+$6&$yajK;+weAAgp2SF zyaVsTyYL>o2bbUyybtfg2k-%W2p_^_xD3C5U%*H35qu0E!xgv!pTH;ZDSQf_!Dnz4 zuEOW=IeYLtdXGxU%^-KOZcVopR_5YbgoofEco-gr?a+8!A~H?n2s{Fh!lUpQ zJO*dr3_K2x!xQiXJPA+2SvU(%!Bg-wJPpslGjI;h!L#rzJO|Ig^YA>Jhx70XyaKPm zYw$X}4j148ya{i@TYj%tOA)z6-Zvp+S}nI|$&hCI9iufS{Y8oUm#!=}~+c$4@| zcnjWwx8ZHL2p8cUcn98vci}yF4=%wacpu(}58wm%5I%%WLzUqd#J_-#;3N1LK8Ecv zDSQT>!Bw~lpTpaI1P^wKLU@!qwp9!2IGi-oq@-RABQL433w8ogtKrKo`R>~X?Pl*foI?xoP%fK zS$GbfgXiISI1lIH6?g?+gV*47cpbJot7oPn1tK@eunBL$Tktl#4Hw}eyaVsRyYMc& z2k*fpxCHOR`|tsL03X7Ka2YPcFW?vO5qtz6!^dz1uD~bo3498l!e{UqT!pLfIeZS= zgZVR4;0q!z$#4nR;2L}dU%@Zom&%)M%5qhXz!5kG$KX!56Yhq);W!+Jd*B{80Vm*I zxED^sNw^R0gZtrrcmN)NQ*a6%ga_dvI~-{F%^@O($uJD3;WRt~kHDkwC_Dy_!5KIM zkHh2e1Uvyx!jo_o&cajh6g&-2!!z&*fKx!rqR9wpd^OkKU#?>bM6ZbT!h;Emo$kf-AY z&yT&u|Ef>fyruR?w4_YDqH&_3qw9t|H#|!9$f#n>t^&?hqrKD zexefb&Yh*(*t(<79=p7yJ8E;`=Cx>hm&AyXg_}Hb(>EN*_!f`4f7aO>xf?v&xfkv1 z;KAW_QGF%8HB#}^-w(*vvY~Strown=V(z|z-{?OFLd&iUa3G|Wb(mNXSjyzNQ!)xBccN2-u zHerdlD=qh~G?E`3lSgqpSo&u4wl`n$7QSg7X-e__iMQ~!Z&{14kLUGipg!mMI5PQ2fK*=mG7c>a*WJgp7hWfcJV)EQs z`k?N0c^?R`%gY<$_KrkCUgU5hy!mP(p)YcfOz2kcHF+4!czwerh+NP`I<7~rNw!;zD&mtot-jxekHj_i<*Bqx5GV3ph;$p@U$+HsYj2YGMc$Vl42Q^dlzHkCfTvd`4o;m(Wj>2BB@!Pt#A629dVz zr|G9jQ=&vHDIaaYEGZvt!z?Ku>5?MzQuM7mOMfg9vEFOEgAtP#45Y7%$A2wTp?K>H zO{4?J*t#PQ|7hBbWr>sbBA6Ec_>PVeH@f3)w~li1m?16$uS@F8G+;zK8v-&-2Klv^ zGIn%`El8L1-uK?Wr60U;_Wu7AjVcCnQo`s-I8nxct6!uk>W3^S3mwI6fEyey&>xEEc_+2_Dx7*zZSiAPXd2J7M(^7X$C_mJ?xI&kXgx}&qb_DR`8Cl zH*`Vy(EN~(<^H3x%))p6n1~~3Um4`;Vp&SPh2$M^1YGxqlyf23EenCS@TX=ry|eIX zhqT?D`HyJSKh-y8v};Se77;-GiC@|GsO(8pl;}UwPKi715qB>1i0&TM{TFJBpC0vx zM(8Uye!?BuWzfLhd|7`ew=RqGW$mN#CeVEOhRodZ#!o$~ua90VSr?Li)`jGoz1Pf3 zjPhdL((0W*mbQ?ExudHsqOTiC+>>s7uZma!t?|OQZc+!$C(}K%-WO~^xYj5zD{)FD(MLUfg z8y~$$SGp!@#K~PNPMBns2y0EHcPJxF+ZtC- z{zX0c7dH79_2e(=$zRyyFSIYu|JJuX_nC)%;)M zD@O6cU)k}jWb122_CF6swy8XZmOiT+TIlb1L+Y&M(QZSHO*`xENJr=3e_K0?V`(sT zr!MV-W*hUNPWS(T>0T?*_4cc?x%Joi+ugQPThC}#>EZ2PzoqV#ieaKFknmqY;%&w6 z$xDkedamn4a*pYx&*k;Ju6x(7OFxz@(x>lTmjubDuSCl=8kJq{rA!#&nuY(U*QKAy zzFuEVW!}2f?fufvyXNPkamgq@G4s*ky+={)>?{_8G6_gO^vkFP4$btpiuT^qMTGfK zw)@vvQ5OEA_5gf+F4G`3^;2S`b}|QO9d(x^wR)c!@roJoN*BJRzcizD>92IpDK85q zWrro%?#Y>a&k$&pyowDx|Sw2lReYa2|O~60x z+?5Ug8>R*2HB0%CDjD!Tl=&vAlhXHO)i+lil9zPT8XnXQ!$MZf+=^Z^`)zTjcvqHl zdE+xG%fkmcIm(%=Lk4&(+ICGox_A|_U!~0a^c_J@=0*P%PaSv~rMm6sk%nbIE}i0B zKIJO!xV5#5HhH;E`mpSy7jm)_)$yqlw_blKZ6#$<{DAAPB*P8)KPLa*lK(r2{ZuF_ z|KF7V-;fwRsEW=_IUDGfO%Dkse8Yx$g?6(&X2ZNoyV-urhHshtoi@z7w43d>ZTPlY zSvZpus<#-Ep^=lWtt30KdkI<15{Y{WPR-1%nr-3dlI`a=d-d8Sudn*U`8;vsmJTg_ zk5&4MmPAt4;7*-E!iO-I5y}owuc+G9aWUcXV~f%*QSB z(P=(z$4HZWI-VD9N-=a(A%(uKo3p51ZtCTYF7d9`TTddSIjF577&$-*x%_h7NVDPs~E61$m`h6Rz9v zEep5x?Owl0Y@Bp2jk!@z`j%+FW|Oa()}?*yOyfw9`y?il*82;s_t!LoEDtg+^~}%Mmt%^gYjfOhlTE9p%m023v%mVa z%p6$JoyGa@NNbWTWizvN9rP|musqlmLr(<1_Kz}M8o1{M>|)X-w_s$&@4nk^wsOA; zmVY)u=Q@%W{<9R#EEd0wn)^=g%e-?fuI1J{N>`YdLds9{miSaYwf4Fh(0Ax%Y7g3f zG4A(M1G%bd6S}|Fiq?Aja;^5<8bW2$n`0aNV+r`^5 z1t`fxa6=BB(!nKBcgQ+T-;klJ^Bp7j)7!lBh;4Lp#^!vUJdnJB!`&Bej>De=mA3CYrnD-r>D2`P6#Ex?*yV zNB7zKDgR5nsEJ*ZOPBoKR)@rMcTsOWUW@7awy3`Y@qL-AxmU_PG(ytN7jJ$&8uJ!= z^!}*yEb+@?kNL5C#l;@qrwV?KZ$zbMsh=h8o@}ILU-Jv~(!v))Ur1BS(jeZG1ZgU1 zZ||L(vSX5@J4?S2ZHu>6(yXY$y!F2Hf8)-Ccy{rQ!8fgEB~4u`i>xdXa!=@nY&4=W zwJyrdQt`-QyI$gw{BfstI!5&ox)8Y2?788oLV?eQb* z3jcA!=Fp9S=Fq;b9$UOFhgy2dw{%L>*CB=ZVROtZgDcBE9*}Vp@K>q7eximdLxz zH^KBFj#;?ulpz?z$h}`3*s4Rv%fgv<=*6_mY#Mb zy+nHLZ7J6~+Cg;?C*F+S)D1`w{$}(R^MJSbjhN9R8dQnSjRrMIZZ<4_LuM9+K z8fEhMrawE|Y~PH^Fw_Z12UJ31N)?85@y3@g4cCAI&x`F{I6C8k7rYHlVq> z3zIX&;JKRtZ9V!sa=M$iCNbe(h5dcTJkqK;y>P$*-#Jp zdOu0Fb_U*zMr6v_mJXszuITbZ9NF_awJyjUYoH$Y2R7~x>T$X^C*M0kT>g$9m%mew zd&|bXRgZhy#=R{^0pHp8#N~JL-_UlI4=I;!gxJzVpX{hQ;q%>)%yh@z_Tm zP|YvjR)3h$`=R$Co1*+T+r1A(pZ(O4{h|0&u3dNX-{MRlzj&vcmP>DO?&~@w(7C(x z{%i147@D{t37k~!?-y?fr0{7SLj^jO+*KBaC;Ti(a}e$=+?3%n1_L#4&{{m9~d z*$cq;_1vd-WXz1<$7yF-d|&iS8%qaTDsnSusVGlj2$HQ!Ph?BQE^}AaSHg#$;(hgP zZ@D7UntEebgb=LHe5*Tt)Q-2bBX02C8ckS)HpqEG-PZH-jK&GQmt=A@7$BcfIY4E@u7aD0Q%%cv8v$cq#xdg*X8b; zJVrN7H{dPSw4X02bjsT3KU+69Cnb$+i|^CT^1iN^6caB#eLCYo}GA$ zC*I<@XqTs^BENXRATY7rBHIvgo5xgtBC!amgp*xjMWQi+lAoZvA>sVhoaf{`|GF+O z^hMhzx9==22d%Q;Ey>L!u@9IMFK};XaUp?*_f18YWcL#QtBJHgO> zEy>J)jrzNE27Dz-@=3eB604E^@U0tr^Oa1dMdhrm)0}*;X{ngA-Y?8qPkOYR4Ygy) zX;3R7pR}rc%zqsHruXrw`q8*}?XZL{#g@1g{6y^UlEG~+PkPVw`a%Fq=Pqhv5-k9F4PBNI&|i-URVJ*4t;=PTSVUx?oGH-{eKV#bx;~ z$`ax?Z?Q`@gTbg`Mv*OzZ93g5_!+mkk*OY)y_E4?Q78D>w`KbH_$uhTcFF3HRZ0#% z^PlFoDUbyrlcwV6vahs=92TJ%}1?5n*GzaG7z4Q*Q2T&2Bj zH5T7zv6;Em-QGr`Jk8Y`argDrpij8X+TM*}YNq$eS z>5fg_lJXnGg#IA; zu6y4>`5g4ua&cK70|{W7Sn4w^*Vo0k=;OL4hXeYaDZyPiVa;!fTjYi@*E{oD?vq(_ zr*EE@O6E6%EN0&!=X<#c*CBTxr4RD@!zbN0nS}prH2%GbwG!J42*wX&y%ouSVEWdE|_iw#A4j0#F386 zR^!gXuk@g`@GDb{#RVElKJH56e9|kct+!P2d;g$rZx{d6?wO=x_p3tf@cn)*`a9U9 z_G?GiTJ@WD?>Ft2DAdGS3c*N&WCA zQ-At5!(7TX|JORivSta-N zfjH+Q-BiTxx9gmv_Xxi)cRXZr{KIRaL604=*zcRMDO-~I$P_cG!rzd{{8`V=%<7BY z>ynu@Ubom98jfYgf z9wINr^^etT$czek^dwsdRi;&4N@=%Q{3D}y@sCg}A9_<$|8+-i@+n(HN+b6`FARw(`fp3fDUtiidfpQE>)l(?AU&=V*~YDT9v6lVE#A0s`=kg zvEKwK3oJ{jie+gb9;7V()SCBik1YO_-T&fGMTKbxOEq+G2i3{F(r5@qw8S7C)d!dA%npU2*<59lt9# zTRzE)d*n>dBxV*Y2`_ZYe4vY$z7j2&-$An!TAS=09ehMD?U_|{PhORliBDbt)3<~4 z46IE$?PuyS^H4A^$pd>M-Dwg!?S$2B!rlI4lw~r?>iY=ZCk2^SWWdM-Bu9&%nfs}7 ze{}I@rWqH1CW-0;;2S!xZBk~b7*CM@%CCW(gS0Qc!Mtr!sA7=M7B10Y_R3aXgmka$ z1m!u;y@Y1hhMNCtd7AEhvhADM@w=xz;_cEuWDeQ=domfDlIa-MT_zzr%yfE|H;nGL zH|*4~9p!q2ZuE_v`Qy!cmU3@@6-!W)Z!rE|I-b35)vZ*uotpZ;qvSp0@;yyd+ieaA=3 zu=op6@rB%|mj*Sg`)TP&pX^92zb2cHKa`rAlpu@lNhDqN<-K|kL52P7lCxTfh)j=x zxW11-D(+oC8l;`>x4ogiz@TsY$tF@u zS&}&O%vfR)6s#m#L@*%{`YM;)#nvZB^177aH}pXw=dgvJ(U?CoJ$vD29kMF=cjn|E z;|3P$LQBU8{S(uL7ygO2bgbP3kQG?=y7E|S;a9Smm8;pS@9RrGi~q@6l;@_ul9zzI z#b0;Ho9y}TMP*>f6Q}R#`^AgDmS2RBboqS)sobxn^uK)D|7{)d9NznoCwm{tg9oX( z^xyk!_v$(P7&&kSxn$D(xqKSm;9W3hZ zLiHsQ$Q-*ebbo#CR3^K{FVw4mpI>g=OROJ|^M=%}V(!&3fV~f8#tven?pih7d`eg0 z0ltoNJ+sPHfAsY_DWSeiqpD7%^(DZw9s=D&A4;@XwFw%OuBZi(F9!5JDJ#hyuQ?8oInNY6Eoc-jg z+>5qenBNrH;s7jHP32G~SLFe6@;f41DL6$uzeln)M9dH|!|*VihSTr}tk3YhtwFA1 z#EiiiI0KKv+m{UfD7;@ya}&x-6m!mF2Y542i}2q;azx(Yl)Z=ybtfg2k-%W2p__GTwf6L0zQI| z;A8k0uD}(z%=MI*Q}_%%gR5{AK8MfY6RwxUT*5WD24BHf@Jsk5e4*DrjcANqm1A%W z?u0wxZnzt6$;4IfUV&>p^cplEfd3Xh0 zfoHj{6SEE%-~zk}Z^B#f7QDu_NK6slfp_3tco*J-_uy@=`^4lra;a22k?=kPgv0bjtUTx-PC;4AnFehI%+{x@yPa@D?i zNlc8G7~BbW!rgE;9Eam@glmGB1l$Yv!bvy@_rZN|57z-=2H+H&f(PM2cnBVX`?;ox zNy8)X2s{dp!ej6lJj`{Rm~nUlo`5IeNjM8<;SASlVy594cm~eFId~SHg{QdA6EhFz z;XJ$oufS{Y8a&6fKuiJNgg4d*JEOi;R;-VPv8^y6h4KIxK@d&!sqZgd;wp;m+&Qg#`TJrEBGb+Qu*Ju zDa%zk0!PSGBc_v>PPiNHhU0J??ty#Y7}s86df_CTg!|w=xF7C^6I@foq~Jk#5FUbu z;9+z0YT^nsISfzTZD&OU0eC@5@#)uitjfmjnOX zQM8Ssc?=$dGjIl$R}Q5B>+(Zzf~1M21z2xh0B!t9#3xaeg|qM!JOz(qvEbzk1ZPN^ zX=<_1+F}mz9I9sFS$GbfgQu~$>E$;G=1IyowYb^Z;tJv`s9J-K@77_{jPqFB^730` z+azhTsl~0<7Pk;Ls6)E40)T)^VCmp4hfB<(h}xZT>~9^!jwF2N;uAKr)M`6~Ay zp30X-NEa%~5AlcOIc#cL?vXa@!`g+)h?i0I0)7D>!AI}`7I(b-4#5gZm8KSVT3b9p z`~+2}@F{!-pTWmi-1YLi1kXu2Z)$P3wZ#j>FHm&}U&1xG23O_8Zic-)hStOQ;<9`} zgf#S?{E*`%xnDLd#9qrnY`3YnT&2;sBX9(c!7)r+VX@@pasPHVN!?8?mRehkBOb>} z58MMM-~=qcgCcd@mmh*jl9Ej=%KJhsI@5L^;(e&^Tf2e9dZyI4H&@+V{~lT>bMQC?1KH3VKD{sL7;@DY3rn`S)pyT@t~)2CkklsqTo zIcaM8w6*C|#Eq&m_zbmGxC&RWc;@9z(gjHuO)Z|aws?v7C7Nq+4Zeb}V1D5$U-j}7 z;L|ou`n0X7#cE57pGFXmsOC>&a18E*JF)nZI-Yy^bCTjD#hY4`_Y+$<^wS>1dr*~t z6L2rw3wLAj!pmO}>?5hKsl|)d7W)zJN7Vp40H@#-oW$a#m#6VR9U^I{sm06I7KafZ zMspfY!z1trJcz}bm&e7Qj*&Fh)MBl*#SG#ZG>^mM@B};ok7Du4%hQoQ&61RDYVoSI z#VN$6&^!%K!!z&r$eZIZT|T9hYHtp-jJ@gk~r z;2n4u-i5cY81t561WP29np%vtwz!Y@KB^Aj1Naa=g!i!6=`D8>d_mHSrWQL}TRcMi z2vx`MFSUX-Q`|yxtHJ&Nlm9{ z$=GT%{n;?$!>CHbX?O%4fk)v{nCW^s=`AM-W=P63ZTVzt>*I)zqiO=4fG6QeI16Xt zFwT@Q&mca7<{X@ZXW?0R4xWRjxaNt;!z=I#yaunq>+m{UfD7~hLmHl3kFQuCQD)w%`t5#LAi0ek=-!iR7fF2iP) z8}yb32_BJj)U^EvTU$Ry{1{agxB{QRC-5nJ3ctYnL*DWb!754Brq+jATR%tq990+a z1$+r#!Zo-CpJ9F2TOKC(lBA}`_T}N0*8jXs#pNn9+n-0^2pofBa3|b}xht%vz2!7X zagv&DK9|$2t@j|_gQ^6afP3LyI0+|VHloWT-tq{+evjQ`npehB^ng4tc zrfdEA5R9Y$ypOt%dds7Tq)AFQwLaR~`Uv8tBBQWTI|h$oA_HgOVXTjN%O+`pq=}~1 z$68yTM0^s>SvU(%!Bg-wJPnUyJ>xB#!sJNGHMO2;ZG9H;Sv1eVbMQPo59i@LJcIRd zZ+V>H8cAzSt&g|1zK-}hstRxc-h?+{vsaw(mL~{qlhk~#IMLc-5%D6bcHkX&7v6=< zUUAY}Hcly#)O<#rY;AEL@qIKOzz6UldDtr!~!zc8dX>Zwd<4ck*n_8T1ZLx-U4b4~Z z75ox@3147w##^4zU@@Xe#Yj_&Gc7F^V~EF4)d_dP-EcSDhQ*w>oFmvnQcqKhxz-jF zh$m3h3-`iFI0?tGIO{FX66`0b`8+(^+TsA>1E@;DDR>Ybgw5PL=Pl0>942YFX&vWU zTTCOKM%4&B0*}I@@DSGwF&TIq9)~C333w7_*cQi#nIeWxUYv&Me#IHsbc`HqT*d$_ z&JklOI1kUGEf4466?g@n#S3fR@*2T)lGdBH$y)0+DIi`z)h4_NZ^2ve8Wz{R<#mEZ zl8Q|&uD7DOb3VZ^ez-B+W{=J|n65sd=ll#VX=eG@rxg@CAGUo0Iak zx4ccTMpCV5t8TZpc!l^Cs$Rk`mH(nmS*|(_Uec;XZ@EZPjHFmoi^Y}}|DqG|PE>Wn z-EbU^!x1d*c*}IKzetdjXlik%wZ&e}$mcK}o)O<&}*V^I;;v;Atg-78rcnmhX(2}=YA~;Ucc+)zT zT3ehzd;(RI@Fbjtvv7tw?t9Do1gA-wZfbGAwZ$34XHb=cbMP!Y3r}J3z*{~bI8V}i zQ;P?!E#?u=qiO|Sf!E+Qcn*t)-tr;A0!f9Y77trn+(dj6Ra@{DybW)|>sTy%%VmN) zB<(b{SZ-}`7je_=_h8c@OR(uGMJ&GXmS14;fTV+_7GJcsc!;=Zt}<*Y@&Yy{_OW>6 zEgxa=n55&T7LQt6tRP-N)d_q8pTei`5f+cV_)sB zD{(ju_rN`Hj5?lr%QW&2dr9hTYVowS#U$cMH21-Ma6jA+C$M7(51N;0&C`;<>j>2m9d!NzLyk zoVT_(iTEU%vv3xkf~VkdEM9oabmJe+kTlb@ju)*h<`B=Jc^009=ioVb8jF|SGK1xZ zd6M!?Enc>^xPtf!n%CepcpYAc=doDxmTLqzN!n~`vDVt+7UEl|+J?8`B3y(ESiJI< zuL$mvwA<9;RcniTi0|EzFC=u|6*S+i|HBfgB@FGu`|u8BcDVbe0aY+Z&j z;$>95fM38z@DY5V79X_955Wpam1Y(tW2>hRKRiMF1XZW-DSQT>!N*vPcn=~3&q+FO zYBAE<;sxSnAY8(xi`HP%d8$~9c@JV(d`Z&FrWRu@E&jVU6_=~b=l?DOQ;~lcgN=zR zEOvSiI?2{eQg>5}ovkg#5s#y)2kwCra02ecVz>98n_!ZpWK)aXtu6K;-iNAwxE~&X z2jE^T#=QroV1pzLHnkXUZE*bKN3l3*Lse;UZjwci2_>h)Nc@I(qPe?jx+LEc(EqRLgDXPxkGq?&@;R+T9 zy$6E?FG#v*YH_f&#Y@C5QB{L$@D+RopJQ>zdoZNIoiAG27bW5#mRvI);zo3S5E9Se)`6m=1PI(rHtRQ>`tYA%2GDDqMxn;dA%|i__i% z(~U1lx@>B3y0yg`;x#m1!B_B0_$7RS#ToAbgXOb`CVduZYH_Be#m{1h$5iuYop2}I z4R^zB{+onrCHrn+i8AE82RSnIkh!O68FH=5kU%_vs$RGkPQpnzj>TE;!7RaklKPuk zoNaA!0Pz7-rQj4i2oJ)2Se)}7%n=+WX}GDyxz-lbh^J9C0*}C>@F+ag7nR?}*T2&9 zS;kv9^FABrI>B{Pulyw+xyly@@CSe7D;V?}r!0F9IKasFIzPz&i|FsFu5lo`e2*a=f8kvJAc$!5JA>FHEb2PtdtQQn zd>xH^E0&g#zmVe>R=;F{7gHZp^?QVT)CPEve?z{eLcT}lL0+`TH<`HKF)fMuwI2Fs zEG1pOm_p00f7r-ds9MmVdQBUk@P__14ATJecPb>i|IaTMzm|tp$!V+>LaY`Xs|ES) z?Yh;#Qc?eki&{ck(P}G(Xwz?HwRI>OZJ*_hV;kI9w6!RG&DNssxT5z!zp7fA6X1Im z9~AY=wd5aP#bO({Sa0AWg)7;@l|l+vatg-)*JdmuSGIEH5V^7=SN7W?Xq<}vAq3oj zqKZ{i2~kvW6jjVO&EsL)7*+maA1+0i{DzfrTs1^l)lpWJ@9EXA*V6B3<(oYGj}H01 zF!R-T`t=?f2y&Re@0Cd0;Lo5WY!R56AJnYjT8LpCoYu#+dMz$}6%Qj?_JZ@m>uNX-_G0~^f2BKidf_EzpsDt#UB;&X(k5m zVO)MR-i9Nlgxbd*%KPK=F$H>^7T&~|y2Nkthi9bZ4c+fyJm`KDCm8q-BlU!c-;`?p zwTj1`ipO8A_%Ri)yjt<3t!lDKRg>PsWV5O!ZN-u}Dd~=;hsk=WleW~N>9tZPol+?B}mi*~x|DWFx9>%pJJd9h-sSwR6M{~;7Gfh#`Rt<~h!=Qla5H)E>P1>r- zpeAF@XF}vMj$B3;1^siU4|9||=YJc~r9@bjSyX1N%4~?rtfMk(<#Nd7tXwWcF6YRZ z?D`#FUj93L-_eiQko>5}D$JuW@A2o3L|grzZM7nmFkks^zOPaK0FC-vmkB{X-?ND3 zdlq!syl8rLwC0_n<<0p2k$nAYd%2uu%B3E|g$i5O$p_Po)QTaXj;v$*J^iN3gWA+I3D>f?kbbHkFpY0Y* z&JW9ea3!PO7gJ{H7Rwrp*kG1m)&`RVlQzikUePI3r~MU1%}UM&^JETuSP7|l#i@Bk zEAgXA75WjUWvT1Ks=wH1wW(zFA4dN{(<;86;FslLMb$p6*dUdDXe<4UYCTI@A5}w2 zT6IcVwSK9Y?aq&8blP61H7rlEKKp~9J_f2%A^RLs*H@EjeGpV_v1%d3 zsyW4~sh*WM*Q8&>mB?MQ*>d~Mg|BfX^18;ANL{0J1GDj5u`~EeJVYYyNW`s#ZOoNq zh(ywnNK)Rkl}iy!**=t}52bB^Qz6Pyj&E|cj6jG{^Q>qe`2%J~u52U*@yH!*UQB-ymm2LF`4^%=VDvm^8 zv>G(X!iBfMnzvGwjCRe7*)mi^G-^hFsapy9PtBieSeJf0U?xTH)x)0os`ZsxOjm0C zXYJI4U+p_J$4*TfZIuE0WA0r1c-XJ~YJ{Z7*P?MWzH;&Vs)))Wu$s2PEI~V5S0k^R zUyanw`!+Ia>BnO#`r|QcK92dgRm|$Ln(^zks%3hmUaN6Oaonm&1|Ipb-WhSb=&IDs zKl%rwVKw5dM*J?SKo|9k*|5uBt)ES#My89dCPPYOGgdz6F4+)?tRoSWG50mI5vcFh#IEkd{hJ7aR4Ql7k_*wCb2R5{S^S;&kBj0K zROGFSe29v?qk=`?X~ilkAT6^T`?#mf=}#+GSs_GO!BJ+UOIBGCWkov}N{q6S4YGW! zmaXn$i0-1J+bAnr-6bnm3Xv;0azSYVOXU!WvLjKZ*i~z(Qr|b#9Y>amtxA=eRc(NM;l^sO$`XEK7iY zE7l$0Ps=^#rsTP^3O_A-Ps_56Wn@34-5y2W4*W);4C2#>`ps*$`z}M_JaY2_$kM5;;dAr}iFWb(f`l*DmFc^7V0l>Fth&xFziF z#-oDwNT*NyB4GSdpj!Fy=>I0=`TyXb-(FG?8Do#L?x1>9-<47@J)f`EG~a5?7kiM` z;Dfv$d_wAzAhkkj#bz!Ll&Ud~*T}qPGp~`lW>X)K`k>)N`>0s&koJ}o&9zqF2CT(x zS*mL7N!13^1k*McAsDg248fr9<)x)xoh$N=^YeJ6tk+%cHtgEF4Ude&3d!j2|IOa= ztv@QO^+#nJED|i*V3lCi1}g+BHdrE9vK_q;Qu2aRa#K9Jw3)BXdL)lr>Lc}YMxLtQ2*>(3(HAJH7NCdU3na$#^{5=X?97E<~ z9rv_I%@(H?qP*rPuW9zjalP*HlELnQU%$r@k|JH&r1gJ(XAu$UXpe&-QqbTNJLDdx zNKM(yNrHCfe;j$eP>&<^Liv`H*iYHw#1s1H)9jP&RlMpu*01m5c!=t_qdIQY1%*k5 zNF*JJq?Jfn8>tY9lp_%oIZX}Hek(l8YAZabX61Z+63p9DWkO1oaY~g@Ju<`UmChq`w7D(!IGfd($__L$ z+=8n=9`(-3=kixl{N0^(q&r$`-shdoGh8-oN{at1dS6Y-hEV=-eZd_zH(K{` z?(asmhyIQK>`==y)B<!Kw{b2v%$%3n7IpIEAF!ex6pL&x7Grq%_6;=-+Q% znpab-eWty~1#4eB)~l^ubnF*xYnP0tKhL~Aq#qYwAJUJD-s7U!)FG|FkbZ0mUUG-@ zqdTP~lp&B`jO%a)@-}6!6(9J#a1V`fRnnIbO9rX)PX7q_|V0I4zR#TVzcRXZ6whx!!>>1FfNu z#gNnUYSCLQ+SBtYJ!&oKH|%O&8+J8s+c`r!H!LBm_5LPbjOp*jv*gSA{#Z+fR3+(D zC8<^Uyre>(mu!Vn)X#1p){>}9T9v5~l_^JM%Bo5Gm8MQvTeggq%Y?{f9J#>DL6c@fB(jb~7E5_+DMv78 z{exTA^45GVL|M*Jma}RCiF}Ae-jN6l7yR)e%X`CkS&N6Xeca>3Mcc=1+sADw3n4ZO zj?IECr95+w$d=&WM_#pA3b9%8^o>j7<`S*ccp5C#-CVLIDTb7!=#->rOJWoTa-|Tt zk|S5La%H~;dKbnWz-yJ@A#Qy?vsUreDz?iCn7UM`OWB=f)++V7RBTvxkf?@8R2>QIJ&CB*Cuu8Pv-WBs(ltlA zhFr#%dlK>Go=AUrb=j80VE*^*C6P{9={Ui-U-c)6Pj&xAwf|V$Q zNE9520tQOfUXh?(6`!!cJt9EqAQ@igMs?&6i&Jq=m8p2oeWG7nIxr*SRf(}>&7PvgPN z`!w#C;+DkDtvp@Navi4#}SA8}h0+|GLbJ zXa28GzbSv7RNf(fnw0;0L&}qM%9BJ_)|M(oFy;5kr&;ZlPqQ|dBbc*olnT+Ea&)8Y zC%lRH6ZnZK*OLrOG&^%24H;EnBw!(7@bRkxp!1vU-{g(Uo;{ z1)d7LkPDH>ITAUn7p(O>!MttY0xm7ss^mkIjGw2qY>Y5*0_HVkN5X?f0Lo zn4#hQWKH2G>jWHo=v*u~lsaD{S8V;#hxmt)^&5^75&G9VKc*k0Aee#xvT!npg z&mym@leeFP&8NH%Eendg6DrrAl+^h@DOm$?lHyiVJVaC6(G<6GNh^^Ikw`icSbdhY za;dt1bxPspy8$!L=#?U+?ndv3>c)S54}Qj+FG|gs;Td!Ovz#qbN`zkV%CnSHq!bNt zLPPMIfpV|%SsJV9zZ3mNqsfqvHOs^=n$4R&&(a}g(~jA+ZG+6~ll!x@l)&$J3Us_@ z{;h|foSR|b_Itm)4HN&f`o#atPW;a@A*ISVrOHt6oGn|{)+QSwmv!Uj z>k$vQ&A)0Y(=g$$=7KqNHE5J#NU4fWsfx5hMX!5(+9UV)jYjQ}{taILMmjHxKP&z3 z(LWH4U;RJphKiQqnM{40#-FirJgfS_^@ygfM{F=jFlmDsf*Bjk5!7bYgZ)ZPgYuH3 z39b`d4}v8!mu%)DnTvk#8JV9oEKKY1ptbqi8ERuag_e}HktUe7!7Rb74HgI%Y!H*{ z4IW+3*KOqee9y@D%oc6EjFz&W`ZS_J*@gRaLPQq#6++VWYxEwMkl%x-cUOn+B zm^s1k6?=mrb3%#E)UdEWD+N_}RRa?NnX)_O2+RQ%tH z4Ib9K4*mph3sDIvM8zpYMa?{`*#@dM+&9uC!z!wVD5^S&s#ZnKe>P^;n?Sx6B42al zZ4uTZulr~{?rHDCHPR!wZMZl6%4D$~_lvq7dEL}{q;5(^mU#}k9;b~1xp;_N+>tZc zQwXK4j%2;X#2MQ9aruLnul=)SONQ7;IyRD4Z>p|WZ!y*HGOedVRHPggDXSt~KVFEu z6wTF=4$+c!w4|wK*6PaCpLnV+Tb)dZmW-n%W975{??_dxWHv-H>qus?U*KA_T5=(M zBk!%ttYP{_!&_K;hp!Lb^}My83$dSb?B}e_JVglP@*#40M=o#W3f58~M55qG6s$zi zN)$sRijG8)B9*ON$;y>N_`MQoEysioI@EZ{*1g*)frh{={M`n zQ>O2ycKTi;xMqV-;+pwMFzzZLg{U}%sMumxu~~gP`gM^A`{$cqudrNHY%Qyj_m%Zw zz3LdKS_3sJQ45i%ITE!_!EJ0EyIi0NM*{Gfv$@54xM+no5`EhW z^@xyB_nu$b`Huvwg#aI>P1M7*pY|}F5ThT){1W%vpv3RVua#@r-s`lbe9!wq4}bdi zLwRBA`|?Zb-)rxZ0>3rTE?-xRYjyPeVN80gie@mr?XcBo|FA15^#beO)dLFe zCV5cue$a2aNlClOKyxhv4MGE^n;?`DA>Xqh-9)kky~5;b)=g4wbEX{EJ}BY)#$u;} z@~B@^)_sHFg$Z-tplff?b(b{DyRzxPT|+@T4q0an2d(5dYdCOLIxIPjvmWMg)<}@U zZ;^apWW?{kdE0;U^?K&LAB^Cvhk13@Xmc&24ML+h%Lt8$P*Z1V7VE5(U$j&Z(a`tD z+{PPoob@ozIBYC-LxvO?Qhr5KwxW(hQ{E58>_81Xn+Y#@m}fI?;WDmgALd^fm?`hw zc=RTo9#>W7zrY>i*5?yJV>>>d2z)*nmON>EUcl$sAcx$L;7JIs09`Wb29iTJeg$Z-x zjB9VE!Hos^JMz&OZp*#qv|Nv@q}p1uL2EHF1r0tMmC3)$Tl!r7GPRfguuHx@K|kM) zcA52gu8G{-??>N^>91z1@_9Ft-*DBy#Jum*s`Y8L-W*jCwndZ)A=pW%TDvmjzafPY zQ)+3&&GVY2l?KHtj@(*HxwQtlwf`&nKUjO~My{dDbeKNURgbhW9r|raPP8_)vro_} ze98W`?)rOOzGz8StFAZv%|e&=gY}zjdK3CX`Efg6mCo1LzU%eMN#|StKcfGD4k1HP zTf1Ib3D|nnBW+C6nuT@Nf?N24Q|dxP$E|wr-WSiRTQ_aTbw7g+uxV$WEys&N>Q*rG zY=VYp@AMGf9Lbd?`kN0gg7qHG=UB4`rFO)qTfQCR9x;HKlS z-z3YI zoUTsYrag6Mq#83)W3f-` z>yV2e$7>F`s25$@|H5hi%jQCt4MLYr`%4G-O4`5Xwnt-QJ0WT8nr-Z>aLZwhedQ{@ zvU`n}cH9I_{L){@H`;=xV2ZREHrnj2Vk6QdN5t7xY{&+rz8~;C5zJs4v3jFcy^WZ) z-RTO|9lX(5-wbSYyLnzy+})tK+mVa6l#4gW#p|1hjUFS{FwpG6T933bO_y3*(l0wI zH+me$ZS>Taqm7=1qB^0Jx6$Ko5H=EDO{qhA)P{SvU?braEa7hmHssF0>;DBEsn>ct z>3YQRb~5N`eNA%o(bHB6Is#)19h^yc2ir&!8 z+eTW|1pOoJ?*ukR947^-BX;507!6Avorw0MbL?+lL1*(W-PqrAh1Jl#L$NXD)Nstd zwX=~4%A2vZ84oM&cu<>(u;dArQGZlT2032q=#znybp%bajG7LcZ7!5;5X!QQ8lfo> zs`uugDXiHq-D{`Zo>0Gupk=Iwv|CR3%jm{*xaBY>xVH>8rftK|1Pwo98$K5_fz!$4 z>5sW%zA+n?JZl=h#B??nk zLU|Et?g`2ACFhU4>xsNOXOx&T8jJ1RVH4-%t#ekw3lrv?71!QM!?-U6H$XSmf_7Z9 z&RP#z$#K?t;4E2Rf;~(iT)bk?@pc-xM%R^#fdSBkwIlt)L>wslr9yf9(Ta*x>? zMb}x-0yaS!Sn zHFu;XaZh8hYe6M+svb*nq%d2oh* zF0)^-w7EIV8U7J2dmeK$nbwl;WAaZ{&tt}Gd@GYKaF6QMmt4>7q5gTNtHmjdIn+N= z4?XX8^SoxMeyCT)=1_0s;w|OsE3V3!L%osfF>=O||5AWGN7W;3%-?XbQk7qBfIoK+ z_0OF{y(HLI1iGXlwKu)eoDJvv=k}ccJn_|3B&7E}chC9Hopb*4hBpMHW$mKs~h*9f^v7kvD zH;viUOjxSCfNzd#&&R`($BmoB!!mPC1UY;+1-p*t6aEBgcO8%F%l9K`g$d&~-E};l zY_6q#+E$@S<2Qt|BGlY(UwYT^JnJ@X)}4shb-YsSY~WaRW!AcKD!edZu5=IT&!^mF zO=@UgFM2-hxNACa$V|{sPV$WFkX(@CHHYMaqH9y;oc5n>E;QR9H0!kgTzHkO*)P2) z%(?A9*I=$5(#D>%jXfW3IjphgUFGxs{r~5AJ8pvcH}BsFeZCSjMdRLK#om>DzSbni z8h2&=>1*B1Qyy?howUpaxklW%W ztg*LkAn&j9sJx#ic%$+4Sliwi{Wt(<%%b#A>?J#p)P;?(^lVO|}3 ze%e?^4Fxqhwe>s;tH@bU&uUn5)hxPZ44wx$UKv2 zrT*;xkqE_%ZxHGfq2|7kEMIQ=DRer%k$`hDt}*2_7P~X3gt)8F>AS1Y9bT9acNMx_ zd)*DQM$LQIcV8ji+SNsffGrWJbKOs@{9LT^xG>8=I) zJiU-~h3dVhkgP97g+4dWYl{0C6!$rD{VnDC8|3=yOITsR$Tjo|dt0R*X=Aw2@|7%M zg#p*61NE7)FwjuedPqCZfWKZ9QeRQA!+KlFEm_JbS;}9Z3WKlrG>r*5)1d8bL#|hx z3`0S08*Y+g*z~qMQ%2g&b4k;5yD zx_PX+z|v@g;!#I#tfkyogWQ;zk+7E$xq3I#A?e=QkSt$vM#{K8%eXUAo*AjJNisos zv{Pm5j5Hozn6N%F?%Eq~n33|q{kFnHSU(9`bHZOz3X@Lb1*wz4l9CNe&i;?`>r?8n zsjxz~+>{jD^L=5;zg1I^^L*ofK~bh{L1)5BG7}Uu7nYneYoF=Jvq6s6`j&Hymrgrt zmOA>#TyvrN@%xbo%{d)wUWC4ij^!TD3-dw0QFHZ>_M&;)i=?Jumcx2c-t9$syN<0i zxJ=A_>gf*huq9%lk01+xu#obe}=$Mx|dxe5h* z^EjhgHk)gypY&B|6W`suPX<1guESY8}N0KC>>?M%sN>I zt4`Q6>RCBZCQR0~P$Tj*dt&dn)2=QS;+k<|Ns4WKQ6B-Qk1ETyEYY?qQFp5VHlP3s z)&;Nu2T%YtzyNN*0ki-MPyh!|01n_kyx2YGo_p>GAD^Cz@ebmT`|ig%_nzN5=iYbT zeUI-ceU{j08%kS-(KeLPHk&nXnnv4F6b_?pDc?kOZy7c!yEBz7rm|t9ZD4vGHrh6A zv~3NiOK6a7Hpou%k((K0$LxGZ{_e5(#8B=NKKWIY670CIqRzxmT_~QKXX0Ixi1Y(X zfxP2Z+*SB+ec0u(_e>^3xINAN-V0+fzQ>xNOH_M z_}nzXb89$VLi_UV@8W**k(=3f-|QT|!Y6*tQmpX=Gmpv!HP-rpsTo7-2g>3vTqs@$ zi%*xtI(cXkk;bM=YP3VSRKibCMC>(PQYrwd;voxDH+wOJsS8t1!W0}URivv#Kx%@Z^1`=mKSiKuPeF6;~pz^c|4a{@EKNJ@agy(8uXPUyxAO= za7&#FK7|E5YQZP>QWpZR2S^hSTnL!51`JsP*79FcG2a3NWzN5B#f1)eDp=?;jHX(< z_*Aga-K@D=-eX+|zYf4h#)u1H6L{DF9+vUqLQf-11*3;SMw+3BD3H-+%~3kviOIJR zQxuK!VIih`0Vdi)jLvsBj~05}ne_EDGWF8=PB8TWlXiMMM;I3(pToJ$d(#X0vKxof zCG_4tdA?idZ$5G}Z#1u&7y8){aaTjc*$@|$O7z;ZaDiJdHfz18%rwxfd4S9Wu?1*6 zp(v!8%E}ky#p!gJ7f2)IC<7#bE zu~bR-xTl3GN8Oo5Ehf6hO-!lgka^f+>px}cBV`SzOQ>wVp}lam`N++bZC>y$T$T4& z7t{r>a@OnebiHsxsRCC5b@{b$gJXw5oMyN1Bd^FNO_a5u#SWPEPub42-LKBv#x`ZAw z!Er(1^+?^!qY9>A1w*icj8Yfo8&_p4D^KG)>I+5FA_hTGdD^lI#j^0ULR_rCD<%<{ z2|i>YuS*tIC`uKdv%n_-3vs1BpjudA*IPAvF@#waE>ws^)k4Xnag0>5IxZP}8%OeO zSbQ78^=Q0J;(I-=hg}}?gs^E^c+;@(rg3tB?}9*-+Mv!&g$2EFlf7~4^#Ez+ja#Oy zTZXJ#=7|MN%})X@z=H4mtNf+Rk-@fMG}XGTB7>b~%{v^WK6xF0kB(BGn82SH!1)L0 z3zbHg3I;#+zVNgeil++XZnNfH5&p=@x2Gr^^I=c<0#39&5$%v)SKXQP)jl#+MYKaq z&w$CA31*b~Ih@uSl7;8_B zTMwGG9w;-tXx99K%#;vo`)Yq23hPdRk_%q^}pEV&eUZwb!q)Cb~lI2!yZ@vi`|Ak7Q3zC zbP1Hb*e#X47;Zjt6J;-&m)whC8Ko|&%WQVm#U6ROUW_PJSW)U?gky)rs0&5Zh#eMV zCXrN$iX9eX8YSR@4?>7H9xe8oOooB!p0rr47W+&ZN5}ed7?z#IJ{>A7_8-aDZwb_| zLxn{Mh47JX8tI=Kr5=AZT{LePFB&(D7p*YMD4~bMWn8d$;q^$}%%d)t?s`F=9v3gj zD0T5-XJ{%O$LHCXgI&?Oiml*rA}eDjNhIR^p?X zhj}4LHW#Cr+02{Si`HA^02{yKXz_BR>6At<%Twm!h|-r~)Dg8pk2Y(jcgYnh!fYu; zA#GDpgUENu6)J4Dio#u}gceg|HVD5$i&x!yxoR=dyW|Rj={hjEn+-^gX}0U;95CM{ zSEz_nrY-h$B@Y^p-zB$rqq#86jCaEv&w7^}sO6oLr~DnE@A4vgQz^z?z;CJr{FVy^ zy&!HDCLZWFV-k_h;A1oL;%`yDAWnR81~2|*b&vp5i~NGP#k|>z;V<-pxLF8NLW>h7 zjbkKz8IB#(3*v~ca3o(rDINLf1#!eTPkfdi@C^xF$u%CgD6q?8I?cRk#Cc=koHyn@ zd}atP{u15OS2Sfc-Uqj6y$=pF%NKu(%Z)1smX*IO^Xjo; z7)`aVsMTY&Su?*6Zn5+_03Uhrw^%ZP8_&5fmgF_Z;zlD-1%rQ}zPQ;8#ijze)vTF* zpe`q0Sy4FVLs|I(`ZfI?o&0*+ooU-*+7>}9G3@}8c6wYfj9V0+!@147=8HSlaJq!v zyTj+MC(TE0=8fhR`66G1FT!$d|5b+ItMJ9AN+pIb@{i9Kcbm2DDl_dhYo;Hc&%%ip zR<5d|kY-9M5#*20XZdlL*`(G<5;(<~Y&MC#Jag|wUpLPJ6WwYjrsu%qZa3)nn2VBm zUA<`j_ru_nQmT%#`Nc_eJZ+=YWuZ2DVr;%%y&AzIdP%Wi->z z&80zJC<=!`UMSH~mGtX!QstpL)1k#gzb+@HdUMD;?6LJSI3b;_vPsnNcTIw)~q)Jrmu%s`; zVFg>_UyLtxnM}sm^owz^S}k>(G>(qDwfdlA`o%c$g^%P5TYU73apLPCJ{swtd+~St z)pV)H@QNkl7voDkmZ-V}9Rsn+)MqRUk`HCw0}v}OcDL2B8(@^m-<-|ah_)8k*C~J zoKakGL2-e@^`(n06c@#Q3w&V=)VDNX5|O{c=fh;UzBEAhYQ#sxFkFX^i1AkpfNE)g zg@L}*HMcqc6JjG}4#V}OL6gQY(xBBbJq1pDLr3!IOKlWrNNm6m-!SpLo;iqJ9`DS! zWL}yt4eM|n8uVp4d~prJ^#*lX7wb#Ia!+OnVut^p!u2Kd;(jS<$ZB2agJwBgUvgaN zqn9dw;fwvH5yNPzRbA{ajW%l@mG^3vQm+H>k>UE1d53=~WdKjfaDC~jIsGhjLQPKWOu;>uN26w*v8Twjt;r_XV?K9|%wNdl(`*XJ-?Us`tWW!Yj{Cc6oy6<~6= z+p)v-r4>`P=F{nOB3y3}dqv5Erd(lDt~M8@nJHJz@vNuQ=XAKfR5Hv}QU=*jiZYrv z#Jw76kWEG5FvzA79R^z3H1xma&a`DQZ5jG6H;2r_9{Z$FHuX`qhSMcfcA1sE-F)O` z%HB3R-;i*OmXXd9o_O8if z7{6uup+f_^~#N|n$XUrBFV_Prh; zO}ug0XUMv2JfpwtGamu~Q}bJ!mjk9ZE(c^Ju-su7iM?mJgHJrmUCo-iWK_D`{W<_1 z8I>+~n?Sp@QI@;qJA{|RO6)L$>S-o*j{+5G)*PX;shC{LQAN?{@5@nTYtZg;l+LE; zx63hirkKSPqqC`C>IEjt)2%4<*v`A$YwD@j8cvtMJC}Rq*>t(D`N++@t5j%{hH%aIONJWQhv) zGT`3JfL0AK(OcZ+1XBW-+${kl$6H306Q;5f=F%Z%8;f5v~Ye?ylU+lI#th8hpYgo;aWV7a^IZG}p3dbzDtkn#&#c#w`@0W%5z*N}evA0YnW9%(`DX|R8h~5-;bZiCH%VmRa`$)cR%T(KjSM3nr|8TF`F}-TX zFy4+OsxF~d?XXupc|B4$^QtGNV8#Ra%TMIjU6vuxF^pGXXWNCZR!2{tJAKY~uI-%v z+=+96b0^QWpF4Fc4&>l>Pn48EB9>2w9AV(6vr(30-Swx}uw|GlD1PrL;mk$%eu@_sl3^1{ccvtJX((1*kFn3TuMaC`$k*Nk)N!wH^m zA5NTwPvQ8_!E@EnM*(P{Mdmu-6W5{}{G4@W|3v%Q_rd&%&}5ufjF=OQVmwKXl_q&n zkz-DfqxjrAR+{9?iX3x-98objR{p}N&JGBK0DWhtbwIQ$3hj!fJ99?RoguC>NT*hz z4_E({>hEm!efTG6;Yie22lS=Tci-^&u^|3|r8*%82S_{dyPi}}-^Kp0q_n@GyZ5MF*h|U&=n@A@p6v3mv^w1?cD{%p%alIbR^!*3l7Y4`mPh?UBGKzaQU~ z5A&BCIs4m?!3sQ{j{3fEHYb}X19}h@Cw#t+Q>RXJ!1{B5D*q_f3AX8gKob6lie8bf zz|tX>tZ%}H;5$0SC+9=(k^0a_t2h8?eZdbO2`<5s1K+0S5>y0n6G%2f5mu|*xBT#B zTv>JU3!!9N5Ncrs99tCtLSq}?K2U;;-H>}%HsszFLY2X@%+5ehx@TBpVIwG zj!=Ssq7Tdj;9lyj_NecCDEle3XFm<)cCei?f+x4*$D6LXopz{)0`v<#<#qtV*V;N@ ztx$OqR<@kYtiXAU+pu&B6#>4PS%H6@r`ovmhEPT*_bikn6YPSs;|bwYF>v-%E(TG8 z?5FSrW)M05=O|VF&*|jx(QfDxcvuLJP=hLlJPGvCE~yndB8u#%Fc~iUgJj=*P@+&2 z)__)+UF7cgUW$EyKGZQl=R*hQLSy}KDgX5oL3o@R2~LwaAcxkv z6O+a)Nh?R#5Rsr%jpP&57fzl!5%dR7%O<}cd<|g*JHeSl`7eS+-VMQ73qO5MC#`S6 z8O(n=dIJ0r&%Xo)tSVls*PerlzCVT=OuO{J4b>{^v-?(f? z&VyH;0G|+_2S1zpM_TUgy!gdaA$Xfe=*}U;YxK5Yyn`FcUWGk8^Dge4L-0xLmOd~3 zVJ{9MRzrX2PMwy;@dO{KB{UAVjbH)!W}BbBf9;3asCZNq2~>CLKX3LYSKHeqSmWSS ztC?OZrrV{^otFmE6*w!%$6Ho>Up(~%1ho=iP@oI=*A&=F03_^g3z~pd{Pe1=}J_}UlwN?)E{2;nATX)+sL=ep_M4OAA>6f_Td}MraOTd1OFCJQfmzijvU18RIgO9DmHB&yc5;s9y z)F3YQp6U@kHozdz$Ka2fnFcHXJX2VTcyj>O&gx3S0x&4CI{*w?00vC}!y3Tw+oyh3 z07xnTq1hN>a6^!UMJaNk(G-{21bl3cx_Vp&5>N!LIINN7LproNN#8*Kyt%Ga#JI@$uk4D4v(A}x8TGO z3y7IvVaTxTd~A*(qs0LX@Jx;|G4hhN*f=rrnyDCC$(tAo8bg6G;J(|D80KNY=skfL zEC@vwosZ2S=xsRIcUUP}5SArttr3E;1y&2KESnHkH3WDS1uamx6?G(p5=@CcKR~b$ zY_Q~fY>r?<>k|-cSgY@*WUb?pf-8%2_0?Ng`K*?|GAd`Im^HACI7zVUbW*%UQRfqcNPah-40lDFF4oSyE4-Az;IW`eSqO^mxA3nrEUjb(tbB)qV|>p(&Sj(tB)Q|=R z>_ZaNkO?ZOK_wZ~WiL>dEdz0U=YhqD_CS~s%e6)c3w&3~p5%8&6$1DW(%n&0@~c|% zt1S6-FUhZ4l5;%gA-NIVf#f$VE2O35M_3`PF#vm7S|M#>xuvndJKDrjdpF~SC1YXX zxXuHM5#@m}c?-*gH*?P#7T}pxCrfY`LM>vQWUz znA#n>yRA{cC$7k=@OI--@!{Pau*6UkOK^PWfx(FJ0K*f@zbX<#-F?NXXf*ZE-HPWB|di&e`q&m^jRqklcqSn{E}&rA&a8pA$g zsCi+iS@T`ScwUn0I1eR1u8=brOf2_&gyo*kz;X}n!^mC6dmR$Xy)F+d_qt3h_hhW+ zf#sf#`~b_nZquXgg(a3!gGb#9YXqgxy|5{HL`xoF$)jG9M=i-^eCH*(j`mRUm}P}t zDS6q|qwe);4CTpx#*4MqJ`z6#B$NZ zlF(S-XO&{Lx;N;BWzfPR13fP+I@m)jLzYJk6Bc;cpdDY`8&(M54O;hxP0257$uG0y zBVLk^Sdz=I&P#F~VnhzEPITl>V>6hVUfX_7Zx45A(m$rmgnABo?BSt zvnThSn^EL7);uJ?uLCxa{Jzh$!u^1h+})$@2Q-Fc=zf4a>VCk$a=%Mqx!)zR z-0$|la=+WcB7-$AEIM>UEMW^vk2jVc3rmm0(qm$YYAjL467#|mv#`kU%?pbT;Sfu& z=~4IlB$jf6N8Rt!2+E=ReWv7bEqRuD0DI-uXlsXt(UluvAwPk7<22$aWNcq#O*eDMecXrZjTp{!dd>#d-CWuts0QLg$tP_Fvm zhGZhp_{iO=jHf-|uIiW?;I0NtxT_r!ZsV4~YKMkf46Syw0CyFhTr^hR)oyuHW;M)k zu^FQ_q;fpnx*9f3yDH;tFRVJ|Myx#+)`%O{h=n!M3f7p7HO5$bkB7C_!Ybo&FRVH` zN34Ao)_ymv{T9~#Rh)w*#_nDyb^MMf2P~8cHr(Q3!5w0hl?Jgp^9v*b6uB)@4%&Ox(>^ZR_u7F*2guwovZ4q1>@h?zDokVxz1u%BNl^pIRtoAnb)whsB6;*Fw4HhH}qBxz`HH zXEw@b?7q)Gm-{}qAj_!O3$l)p5%RtTxkiv3H~Lm<3Nqa2TdlPM`GpPn1snFz%dm$Q z$~uYYg;K}Jh_Y^>eCdYrrG@fk3n(A>ER+v?66J${2g(Nl6XgRL411t_phIIo`Jlr@ z`Jl@M<%2F0<%6zPP=;-kVd=gPdOnZ)KIpL^%b3^;vW}1ua>RlhCCH9DTo0lOGTh;M z5N!o=uMN4E4cq5s*ggxTjE22X>ev`j_FE`rEa5~Mw@}7gL3zY5vBD5rU!#=wj8uj4z_}F*hV?b?wkBv?whnA%h1>hvJR9H@@31gBLvxTJMF=U zf(*CQ9*ndCIb}mmv0<-z8TP7$Qijo9D0NVcD6d;6Z@8hnVWGUy3d)-{%A1VxmKVxf z7D^d%d!f_;IHJs0DD!S8^A^f{D<}&#$^yIZ{O5Atc?+_P)x99=$Q>aUEy&9fa^t#DRtHg*(0% z7U7{g;bAL^cxfwwp9p#IiWT9qf%o8*se(1%u~e|;GgYwWGm)(YT#>B>T0pkeWg%PR z=R?-IJ&>(+Tgbx4Ll(A>g)L+~?#Oy9LixmjBsZtSS}QxzYxYj`8t+7}^|A_%^zt=p zCwi^#c#7z=6wznl>vvZ~zeR|@5z|j%Sc+&Rs$R3B>NSq4*SwxGvZJwHvl3To%5y8YV&!GALLk@U~q1*CM;NmW(aG5yspJV=YXF^*(DltoN}m^dHX``Ym6GA5Rf+OA&Dk z-vxJk7c9by?t~XxQAEO4M1p-`kQL$P3xk#lhK{F#Axi~A7P4V?WWyF=(w#8biV8+- z6^yVijIs)jUKd6!MWl|Wh?J#>l!foAJHD$H;dOVy>#ZmvZ7YHwqgcPmig5FVo0bZ0 z9Zv-k@Fg+Mr#xHfYz6w?VsZZP2b;8?@`2Qc;b+IauG+s;Pz6TM2*H?eKS< z!{2qU@ORw`f7g!}{;pf$@4B@?yDm3q9lxwt*Bi9(%Zl|@HfY!F4cc|ypk4Rcpk22% zXxERoLA!2k(5~;9+tBMA9y@Gl1jK-{+RD6qZqLi-JTLdX=Hn&S&XnXyj6_kfI%0ot3_d;2>P|8OpJT_d`^#c^J;j;eHLivgm_V4*ApB+3$0ANjhHQiqAM)O9Rdmb#R{fU?wOqJ%eSi&x<}P?owC6QC@0 zw}P_AM%lwCBVH&Y7Ru=HP)3!&h%#!Sj7gM@&uW)qifO7CDzy?vm+UyY)W;}Q9PJV^ zl&lE4bi4?GR~fI z*iuKVxon|aA(W2CcuOk^ zB|OGkT4@C(o|N>j081rCx#5L!!$Qenu3G2dvV~s4YTmCZ89^_g+_X?`xuM*$P;Rw? za@$6^%_w)gQ0`bLIn4DyX#~B1@`;7A;)b$fp=@O@xMc4Imv$MY+6#6&S6REjr7D|_ zkIijq1igT=YN32atd1vlOV1QacyhPY%F_xZ`)P&JKBH7mE4ZPwo>M5vFxP8d>Yx|r z<$;Crg&WEj7Rnc`cx>JF*gB(p>E*F6EsvF9t`|xj^dibvCd!9C7nBcuCd!At7EnHf zr(cZK=V6CL`LN3a<-;x$x}Y-7s?wJ$~1}Sg;EF8 zh%#-Vyy=GWriJomD=0HI$_%5-d!fu*C}pVag;EFJh;qV0S&%3jAIW`K&?w8HhlN&9 z7HyP8M!D>Ta@j&DLv1gVI`Br6D;COCHcAUO zZdoYHZYawZ%5p0xcWjh9jPi*W$|n{|8ESi>)PXmmtXL?Yx}kh(p?um3$~_z99;2*! zp{!acWvK0iQU~6M@|lJ5xf{yo7Ru+Xpsd*_YmD;13*`a41!|!2El>|-$nAwz2jGa- zdOYKy`{Nl8TX|^sq5aVCLw;!Zq1Qvh53PrWAIUJ=1KA@TbOW+SKJ#ATqk!wZ!bgD? zZ114zv+puVueJcl-6Vf-i34i_5w9=mO(&xl(>~!9pg(X)k0txJG0bEo1}k z$Oc+LHfSRoWMo5L$c8LrGKBU*rUPn3W<9I%$o*N3N3A@o@yLEwoZg%cJ^89aNT)S)z@ELbS#-B8Y3DCb*2xoo3c zW|S*lC|4|$GI;hvsY7W*xoV*-xuGmsC`+xN+_X_{z75}Fhu1wm+G3P6_C(RmraGjC z_x3&7varjL+6%i5un~LN!oJPpH@xuU(YC^l<8HTt{fUkJ30t_r*xfK!ER-^&_Cl!x zY()9gLb*#Q9e1@K?JAUTSNqX!D=4cr$||o+&lu&=E7LOzs|>8Yu<9@yu|Bu3?z>^# zx3KQFg7v`0dcYQa!C2ia`ocnaNFsWnJX8WB%0mlf-3?`3F`-54t)P5mqkJV%KK6N_ zeC#t(J`NlU<>P=77*IYAm?$52xS)L8p_l;WWmmb~C4dBKvLqiqk#jo2F`pSL70O351^DSBMglIKH@%^wCn);|n<%s&i# zyvmXv8N57RwdChG+CzRLss{N>mi!xT@^4u3Zx|1AJ>F6eb3NW-&6inzx0zA4B$rXJ zM?mse$HX}Qw=Kzc+$7(zB;PS5uV~3DEcsI}$)8%1%gEMCavkTQ3AgSaZRCwN1`6rT0!~3M)`uzMTd;? z=vj1VVXc#(URZUUi&*Ox)|YNrUs_mSwt#iRXJOs&NsDd-7^};S+X$E_H)Le%fpSB~ zxqxz`!$i5!<$`jf%S5@+)e6e6jWWzAd%RHgSSV#=>xELsxrj1ip^Unrj9Mt8t)T3+ zQT8&*J};Dg7D^e?dZE+-E~4zWP|8z=JjR8h^V3+0F# z$`K3YNGm8)Hp&#Eyy}JWs)bSpvtB55Xp1PXTPSb1p}b+CywM8En>NaujPjNj%3Bsn z8O(a2)S)e+%vdP%gwpY-+eTiYgh$;r@~xmO*eDA;JLehY(X(^j!YadGFRVHkMyy2( z>#`fxWee+aD_B=;tgCF%5@U6noh1vU43fQ2>W~>xZdfQc-B4~?C^uU{S+-G@8RfPY z%54j!45+hKy-?pP?FxS@Pvp?uN`%BMEUr;Kvf3+1kbQU>2%D0L`~DEBOsRYK`_ ztZ$>LP{Lz<8`V}&KDSXm=h?Z>D36|<`xaIif_q`r0Xbr=Sy&I;upU@g4_d)`Xk$HO zi`E&d+w81cC}r^Ng;Iy&i1MX{@|7FPR~E`wEuj23V4?gtAW?n{)kpr+@Z$~><;ODk z_CWcu4#ffG$6Y4MkGow^e%x)M{J6Unlsz`e9!44QLK(48%HZ1zr4GdrWz<3$lPDV> zVf;9zQIlsXhglyM8?1viuzER+{oK{;Tf9AH}} zyig`Alrrr0LaBprL^)`o9CAZBWT6~7+1VDlU4t(TeG6_W90c1t#i3J{u}RcGM%R_N zu7up<0o5`dmM!C9T^HawgD%E(vD0v;D*JZuZ2m#lsgroS`7e4Pk)L+|iyqxgo>}rt zIBF1%YQh>5)|jwr5LUUeW>jiy6Gh2AQIv##IiLyua)2v`jmlv)_9SDS)L183CzD~+ z)@(&l&sOAEvlZFxW|!`Evr7?9#U$ZW47(_3c2f0-<*mPrRn1f77WR-IXfM9(*<| z)$&8bqkpJ9dNv_PoK0Zovs%homU31|Ia?RX(X!6gnX|5jon-kZS^ggy3j1N1WqGDS z{qULMo?}_≥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

    Ie~PC@fV-^Ob5 zH-b1`p

  • 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 diff --git a/azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.pdb b/azstackhci-powershell/obj/Debug/Az.StackHCIVm.private.pdb deleted file mode 100644 index 0f1199d37eb2227a8038fdd7efe100586d39b0da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1542984 zcmeF)cW_nJ|L^~uwdqCaMUXB?l`bICRZv6_K}4!lMYKCyZ4=HZd?DXw;-Pt0~@4g7`R;BZ%uFb;t zgbcXbc>mr7(rkTRbyv~CRW07toATD)lQ&j*nq`$5ZCTacw=CzvmesqcW#vfU>O(E7 z_^Xyx)t0tumKFH6WtAymS#Rgh{ds9-Kluw;)@I51<+a!3zq%PKUvA-6T5f~oWktyk z=Q5d{-cCM1zC+F=w=SstJB!9z zPToikBuA4g%JFfsYKq1hO#YgDhbWkq8RA%8>uh5Q>io_w2JtGM=W zBpPcRc^df)`8+xQE86E((O6%QhmrpvyO7h!Psq(=ygOO%ipKhpyol^ajvyD3aqeW5 z5{=c1{3Urkc^f&Ne4AWX#=4W$Of=R+@(i*E`7*g=DeY59G}b8cMDiZ;5pps)o!qFj z_HQN1*e1^>dy@Ug#mZ=(a-y*Ykw=qHklo2o$@$7^pZ7&4t0#Fgc^COUIfvY!oc3uc z8fyZ1I@yKnMJ`xg`;-)A%#-_)Hm=$ zc^f&7e3M+ej`nFR8fyx9Hu(tInS76&O>X?A_HQE^>wEHCvOD<_xlmp0Q%aQc26-6y zF!>BQm7GOxP*3}}6y>;+XOYj5eaWW2_9-SB>qGKqA9I{hWZSNpDSs#*Dk~fnR$@j>u zn`xiUqOn$yeFBgo^) zKI9N`!?(51+oIG$-boH3$B>J((mrKGIR}#alGl*8lEcVX$rV~_{~DsPhLgvUPmtZo z*<`DY_Gu@|XHH&D-bjuo-zJxRNBdM2rC#y?@&@vD@)hzea>cgVzouxc0pyY7z2u|h z4DvH_>vy$(XVF*-$*ak+YXNx`*@f&y&LaOs zZr(xrcM#>=PF_GhN%kaXk*$u}r;RArGvxW?Rb)?c0NHfXKCg%}H_3g;8^}A!*T|{l z2A#EkD^bq99~PA>F;_UR?cIg@;Ve2V;l{FL0PtM=(48f!6mJ^2dxHo0jx?bA*))=Kgg zayt1rxzC5%XQ*hbUF0L=EVA{Hws#kutbXKuzf2K#n6PlV9(l{p*VIS&_$+_mKY}r;@YDEkDuzokaQk$!o}A)ybR5SIH^lroFXKJJDFn$eYNw z$(iIHpJ|`|qMYBzuH5~8d%`J~wE;(8Iye`W1BzY?Ncd|1% zll+3*;XCc$T{PBe@-O78

    tlDcYyCC~F*fHTfDjmHft3?bAe*V?_Rue32YXuJFC~ zsU=Du@{i`8+w0Tzj_mX)4NEOx{8cBVQv|n#1oB<@l1PlHJIc$Eu?6wNDpO?q$folGDl0$)7IKK7&MK?I8b7&LqDecVDV~`iaKcPd-UbCO;(CU8a3n zh;lDRo<;T``;niM3oX|^?L|3Wv8LwNFh^)@AZ{$FcL(O7-RL&@972g!HHkI1dp zYybB|S(nLM$tmP4a_tS;r>Q9G5qS#vIN5{z7rDqr?bA+_`&sgQ@+xu=IgVU;llFO2 zG}b`!*W}&gqvSO5GjhAl>{FC$D)J(-JK2|<|7Yz}QZ!ai@&NKW@^O%U`vBC(&4o z$m_`0$f@L3+q6#?QLb&s%gFxZX!7gZwNG79<`H=o*`FLuuDe6~v=EK8g8VZ%i)`)G z_RgX_k0Ng(?3>-*`Wwv5t^k$hXKDiCp5K_Ngq&GcocUayYCGR8WkZlj`(^qt|z9OF{Um#aHr|oq_c|Jy7OU@!& zp4vW2bh0Ls6UcYT1J7&w*P^kmkyFXjrCk3sLUN$h*iUMB85x<(U9^HaV4?O&%Vq zeI|&;3MI#rJBMleC!(=j$(P72!?nGWD4z*=A31-7wwDy;?;7N}

    @UwOb|6gp{4XL<&g}I@v3NU@9tZ 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 4.4.1", - "NETStandard.Library >= 2.0.3", - "PowerShellStandard.Library >= 5.1.0" - ] - }, - "packageFolders": { - "C:\\Users\\havedati\\.nuget\\packages\\": {}, - "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} - }, - "project": { - "version": "2.0.0", - "restore": { - "projectUniqueName": "E:\\azstackhci-util\\azstackhci-powershell\\Az.StackHCIVM.csproj", - "projectName": "Az.StackHCIVM.private", - "projectPath": "E:\\azstackhci-util\\azstackhci-powershell\\Az.StackHCIVM.csproj", - "packagesPath": "C:\\Users\\havedati\\.nuget\\packages\\", - "outputPath": "E:\\azstackhci-util\\azstackhci-powershell\\obj\\", - "projectStyle": "PackageReference", - "fallbackFolders": [ - "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" - ], - "configFilePaths": [ - "E:\\azstackhci-util\\NuGet.Config", - "C:\\Users\\havedati\\AppData\\Roaming\\NuGet\\NuGet.Config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" - ], - "originalTargetFrameworks": [ - "netstandard2.0" - ], - "sources": { - "https://pkgs.dev.azure.com/msazure/msk8s/_packaging/msk8s_PublicPackages/nuget/v3/index.json": {} - }, - "frameworks": { - "netstandard2.0": { - "targetAlias": "netstandard2.0", - "projectReferences": {} - } - }, - "warningProperties": { - "allWarningsAsErrors": true - } - }, - "frameworks": { - "netstandard2.0": { - "targetAlias": "netstandard2.0", - "dependencies": { - "Microsoft.CSharp": { - "target": "Package", - "version": "[4.4.1, )" - }, - "NETStandard.Library": { - "suppressParent": "All", - "target": "Package", - "version": "[2.0.3, )", - "autoReferenced": true - }, - "PowerShellStandard.Library": { - "target": "Package", - "version": "[5.1.0, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.420\\RuntimeIdentifierGraph.json" - } - } - } -} \ No newline at end of file diff --git a/azstackhci-powershell/obj/project.nuget.cache b/azstackhci-powershell/obj/project.nuget.cache deleted file mode 100644 index 3d37b07b6135..000000000000 --- a/azstackhci-powershell/obj/project.nuget.cache +++ /dev/null @@ -1,13 +0,0 @@ -{ - "version": 2, - "dgSpecHash": "xEX20Iyn3a/pHQr0pVgWWZv4wC6wYbaYiwW0Gbh4pwABO+uCquIb8zglYl4gjP4udzn6VnlEGR4qHoyDh/T+Eg==", - "success": true, - "projectFilePath": "E:\\azstackhci-util\\azstackhci-powershell\\Az.StackHCIVM.csproj", - "expectedPackageFiles": [ - "C:\\Users\\havedati\\.nuget\\packages\\microsoft.csharp\\4.4.1\\microsoft.csharp.4.4.1.nupkg.sha512", - "C:\\Users\\havedati\\.nuget\\packages\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512", - "C:\\Users\\havedati\\.nuget\\packages\\netstandard.library\\2.0.3\\netstandard.library.2.0.3.nupkg.sha512", - "C:\\Users\\havedati\\.nuget\\packages\\powershellstandard.library\\5.1.0\\powershellstandard.library.5.1.0.nupkg.sha512" - ], - "logs": [] -} \ No newline at end of file diff --git a/azstackhci-powershell/run-module.ps1 b/azstackhci-powershell/run-module.ps1 deleted file mode 100644 index d09e84125392..000000000000 --- a/azstackhci-powershell/run-module.ps1 +++ /dev/null @@ -1,62 +0,0 @@ -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- -param([switch]$NotIsolated, [switch]$Code) -$ErrorActionPreference = 'Stop' - -if(-not $NotIsolated) { - Write-Host -ForegroundColor Green 'Creating isolated process...' - $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path - & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated - return -} - -$isAzure = $true -if($isAzure) { - . (Join-Path $PSScriptRoot 'check-dependencies.ps1') -NotIsolated -Accounts - # Load the latest version of Az.Accounts installed - Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version -} - -$localModulesPath = Join-Path $PSScriptRoot 'generated\modules' -if(Test-Path -Path $localModulesPath) { - $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" -} - -$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.StackHCIVM.psd1') -$modulePath = $modulePsd1.FullName -$moduleName = $modulePsd1.BaseName - -function Prompt { - Write-Host -NoNewline -ForegroundColor Green "PS $(Get-Location)" - Write-Host -NoNewline -ForegroundColor Gray ' [' - Write-Host -NoNewline -ForegroundColor White -BackgroundColor DarkCyan $moduleName - ']> ' -} - -# where we would find the launch.json file -$vscodeDirectory = New-Item -ItemType Directory -Force -Path (Join-Path $PSScriptRoot '.vscode') -$launchJson = Join-Path $vscodeDirectory 'launch.json' - -# if there is a launch.json file, let's just assume -Code, and update the file -if(($Code) -or (test-Path $launchJson) ) { - $launchContent = '{ "version": "0.2.0", "configurations":[{ "name":"Attach to PowerShell", "type":"coreclr", "request":"attach", "processId":"' + ([System.Diagnostics.Process]::GetCurrentProcess().Id) + '", "justMyCode":false }] }' - Set-Content -Path $launchJson -Value $launchContent - if($Code) { - # only launch vscode if they say -code - code $PSScriptRoot - } -} - -Import-Module -Name $modulePath \ No newline at end of file diff --git a/azstackhci-powershell/test-module.ps1 b/azstackhci-powershell/test-module.ps1 deleted file mode 100644 index 189a615efc17..000000000000 --- a/azstackhci-powershell/test-module.ps1 +++ /dev/null @@ -1,94 +0,0 @@ -# ---------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code -# is regenerated. -# ---------------------------------------------------------------------------------- -param([switch]$NotIsolated, [switch]$Live, [switch]$Record, [switch]$Playback, [switch]$RegenerateSupportModule, [switch]$UsePreviousConfigForRecord, [string[]]$TestName) -$ErrorActionPreference = 'Stop' - -if(-not $NotIsolated) -{ - Write-Host -ForegroundColor Green 'Creating isolated process...' - if ($PSBoundParameters.ContainsKey("TestName")) { - $PSBoundParameters["TestName"] = $PSBoundParameters["TestName"] -join "," - } - $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path - & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated - return -} - -# This is a workaround, since for string array parameter, pwsh -File will only take the first element -if ($PSBoundParameters.ContainsKey("TestName") -and ($TestName.count -eq 1) -and ($TestName[0].Contains(','))) { - $TestName = $TestName[0].Split(",") -} - -$ProgressPreference = 'SilentlyContinue' -$baseName = $PSScriptRoot.BaseName -$requireResourceModule = (($baseName -ne "Resources") -and ($Record.IsPresent -or $Live.IsPresent)) -. (Join-Path $PSScriptRoot 'check-dependencies.ps1') -NotIsolated -Accounts:$false -Pester -Resources:$requireResourceModule -RegenerateSupportModule:$RegenerateSupportModule -. ("$PSScriptRoot\test\utils.ps1") - -if ($requireResourceModule) -{ - # Load the latest Az.Accounts installed - Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version - $resourceModulePSD = Get-Item -Path (Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psd1') - Import-Module -Name $resourceModulePSD.FullName -} - -$localModulesPath = Join-Path $PSScriptRoot 'generated\modules' -if(Test-Path -Path $localModulesPath) -{ - $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" -} - -$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.StackHCIVM.psd1') -$modulePath = $modulePsd1.FullName -$moduleName = $modulePsd1.BaseName - -Import-Module -Name Pester -Import-Module -Name $modulePath - -$TestMode = 'playback' -$ExcludeTag = @("LiveOnly") -if($Live) -{ - $TestMode = 'live' - $ExcludeTag = @() -} -if($Record) -{ - $TestMode = 'record' -} -try -{ - if ($TestMode -ne 'playback') - { - setupEnv - } - $testFolder = Join-Path $PSScriptRoot 'test' - if ($null -ne $TestName) - { - Invoke-Pester -Script @{ Path = $testFolder } -TestName $TestName -ExcludeTag $ExcludeTag -EnableExit -OutputFile (Join-Path $testFolder "$moduleName-TestResults.xml") - } else - { - Invoke-Pester -Script @{ Path = $testFolder } -ExcludeTag $ExcludeTag -EnableExit -OutputFile (Join-Path $testFolder "$moduleName-TestResults.xml") - } -} Finally -{ - if ($TestMode -ne 'playback') - { - cleanupEnv - } -} - -Write-Host -ForegroundColor Green '-------------Done-------------' From 1de7d565cd1a69d647b7ac4721357455f14ab835 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 15:51:18 -0700 Subject: [PATCH 03/21] removing alb changes? --- src/Alb/Alb.Autorest/resources/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/Alb/Alb.Autorest/resources/README.md diff --git a/src/Alb/Alb.Autorest/resources/README.md b/src/Alb/Alb.Autorest/resources/README.md new file mode 100644 index 000000000000..736492341e3d --- /dev/null +++ b/src/Alb/Alb.Autorest/resources/README.md @@ -0,0 +1,11 @@ +# Resources +This directory can contain any additional resources for module that are not required at runtime. This directory **does not** get packaged with the module. If you have assets for custom implementation, place them into the `../custom` folder. + +## Info +- Modifiable: yes +- Generated: no +- Committed: yes +- Packaged: no + +## Purpose +Use this folder to put anything you want to keep around as part of the repository for the module, but is not something that is required for the module. For example, development files, packaged builds, or additional information. This is only intended to be used in repositories where the module's output directory is cleaned, but tangential resources for the module want to remain intact. \ No newline at end of file From 5344e622b91c465153cb8e77caaa244e3ef07cd4 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:06:40 -0700 Subject: [PATCH 04/21] removing alb changes --- src/Alb/Alb.Autorest/test/README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/Alb/Alb.Autorest/test/README.md diff --git a/src/Alb/Alb.Autorest/test/README.md b/src/Alb/Alb.Autorest/test/README.md new file mode 100644 index 000000000000..1969200c6a09 --- /dev/null +++ b/src/Alb/Alb.Autorest/test/README.md @@ -0,0 +1,17 @@ +# Test +This directory contains the [Pester](https://www.powershellgallery.com/packages/Pester) tests to run for the module. We use Pester as it is the unofficial standard for PowerShell unit testing. Test stubs for custom cmdlets (created in `../custom`) will be generated into this folder when `build-module.ps1` is ran. These test stubs will fail automatically, to indicate that tests should be written for custom cmdlets. + +## Info +- Modifiable: yes +- Generated: partial +- Committed: yes +- Packaged: no + +## Details +We allow three testing modes: *live*, *record*, and *playback*. These can be selected using the `-Live`, `-Record`, and `-Playback` switches respectively on the `test-module.ps1` script. This script will run through any `.Tests.ps1` scripts in the `test` folder. If you choose the *record* mode, it will create a `.Recording.json` file of the REST calls between the client and server. Then, when you choose *playback* mode, it will use the `.Recording.json` file to mock the communication between server and client. The *live* mode runs the same as the *record* mode; however, it doesn't create the `.Recording.json` file. + +## Purpose +Custom cmdlets generally encompass additional functionality not described in the REST specification, or combines functionality generated from the REST spec. To validate this functionality continues to operate as intended, creating tests that can be ran and re-ran against custom cmdlets is part of the framework. + +## Usage +To execute tests, run the `test-module.ps1`. To write tests, [this example](https://github.com/pester/Pester/blob/8b9cf4248315e44f1ac6673be149f7e0d7f10466/Examples/Planets/Get-Planet.Tests.ps1#L1) from the Pester repository is very useful for getting started. \ No newline at end of file From 9171d7b70eaf87b59c767805ad318e2a310da6eb Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:11:41 -0700 Subject: [PATCH 05/21] fixing readme file to match folder structure of central repo --- src/StackHCIVM/StackHCIVM.Autorest/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/README.md b/src/StackHCIVM/StackHCIVM.Autorest/README.md index d9f2d8a6e37e..ee21464db542 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/README.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/README.md @@ -56,7 +56,7 @@ In this directory, run AutoRest: ```yaml commit: 812f964651d5f1f7148b54ed2cc35cb97be12523 require: - - ../readme.azure.noprofile.md + - $(this-folder)/../../readme.azure.noprofile.md repo: azure-rest-api-specs input-file: From fec02ba3a32f97975daf7b059918be5ea0ad4d31 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:13:21 -0700 Subject: [PATCH 06/21] removing example changes --- .../Get-AzStackHCIVMLogicalNetwork.md | 24 +++++++++---------- .../New-AzStackHCIVMLogicalNetwork.md | 23 +++++------------- 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md index 0371f56c36d2..87126d9cd23e 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md @@ -1,22 +1,22 @@ -### Example 1: {{ Add title here }} +### Example 1: Get a Logical Network ```powershell -{{ Add code here }} +Get-AzStackHCIVMLogicalNetwork -Name 'testLnet' -ResourceGroupName 'test-rg' ``` - ```output -{{ Add output here (remove the output block if the example doesn't have an output) }} +Name ResourceGroupName +---- ----------------- +testLnet test-rg ``` -{{ Add description here }} +This command gets a specific logical network in the specified resource group. -### Example 2: {{ Add title here }} +### Example 2: List all Logical Networks in a Resource Group ```powershell -{{ Add code here }} +Get-AzStackHCIVMLogicalNetwork -ResourceGroupName 'test-rg' ``` - ```output -{{ Add output here (remove the output block if the example doesn't have an output) }} +Name ResourceGroupName +---- ----------------- +testLnet test-rg ``` - -{{ Add description here }} - +This command lists all logical networks in the specified resource group. diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md index 0371f56c36d2..14c381e43d7e 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md @@ -1,22 +1,11 @@ -### Example 1: {{ Add title here }} +### Example 1: Create a Logical Network ```powershell -{{ Add code here }} +New-AzStackHCIVMLogicalNetwork -Name "testLnet" -ResourceGroupName "test-rg" -CustomLocationId "/subscriptions/{subscriptionID}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}" -Location "eastus" -VmSwitchName "testswitch" ``` - ```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} - -### Example 2: {{ Add title here }} -```powershell -{{ Add code here }} +Name ResourceGroupName +---- ----------------- +testLnet test-rg ``` - -```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} +This command creates a logical network in the specified resource group. From 4454c6fb771e13727725893d7326a087e25c190c Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:17:43 -0700 Subject: [PATCH 07/21] fix --- .../examples/Get-AzStackHCIVMLogicalNetwork.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md index 87126d9cd23e..f8285723aa59 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Get-AzStackHCIVMLogicalNetwork.md @@ -20,3 +20,4 @@ Name ResourceGroupName testLnet test-rg ``` This command lists all logical networks in the specified resource group. + From cdb2ac29de8ac7dfa41054cd42f3be91652e3c84 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:20:48 -0700 Subject: [PATCH 08/21] fixes for examples --- .../Update-AzStackHCIVMLogicalNetwork.md | 22 +++++------------- .../Update-AzStackHCIVMNetworkInterface.md | 22 +++++------------- .../Update-AzStackHCIVMStoragePath.md | 22 +++++------------- .../Update-AzStackHCIVMVirtualHardDisk.md | 22 +++++------------- .../Update-AzStackHCIVMVirtualMachine.md | 23 +++++-------------- 5 files changed, 30 insertions(+), 81 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMLogicalNetwork.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMLogicalNetwork.md index 0371f56c36d2..3e97b0de484b 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMLogicalNetwork.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMLogicalNetwork.md @@ -1,22 +1,12 @@ -### Example 1: {{ Add title here }} +### Example 1: Update a Logical Network. ```powershell -{{ Add code here }} +Update-AzStackHCIVMLogicalNetwork -Name "testLnet" -ResourceGroupName "test-rg" -Tag @{"tagname" = "tagvalue"} ``` ```output -{{ Add output here (remove the output block if the example doesn't have an output) }} +Name ResourceGroupName +---- ----------------- +testLnet test-rg ``` -{{ Add description here }} - -### Example 2: {{ Add title here }} -```powershell -{{ Add code here }} -``` - -```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} - +This command updates an exisiting logical network in the specified resource group. \ No newline at end of file diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMNetworkInterface.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMNetworkInterface.md index 0371f56c36d2..cbbef63df69b 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMNetworkInterface.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMNetworkInterface.md @@ -1,22 +1,12 @@ -### Example 1: {{ Add title here }} +### Example 1: Update a Network Interface. ```powershell -{{ Add code here }} +Update-AzStackHCIVMNetworkInterface -Name "testNic" -ResourceGroupName "test-rg" -Tag @{"tagname" = "tagvalue"} ``` ```output -{{ Add output here (remove the output block if the example doesn't have an output) }} +Name ResourceGroupName +---- ----------------- +testNic test-rg ``` -{{ Add description here }} - -### Example 2: {{ Add title here }} -```powershell -{{ Add code here }} -``` - -```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} - +This command updates an exisiting network interface in the specified resource group. \ No newline at end of file diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMStoragePath.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMStoragePath.md index 0371f56c36d2..57a37f5ddebb 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMStoragePath.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMStoragePath.md @@ -1,22 +1,12 @@ -### Example 1: {{ Add title here }} +### Example 1: Update a Storage Path. ```powershell -{{ Add code here }} +Update-AzStackHCIVMStoragePath -Name "testVhd" -ResourceGroupName "test-rg" -Tag @{"tagname" = "tagvalue"} ``` ```output -{{ Add output here (remove the output block if the example doesn't have an output) }} +Name ResourceGroupName +---- ----------------- +testStoragePath test-rg ``` -{{ Add description here }} - -### Example 2: {{ Add title here }} -```powershell -{{ Add code here }} -``` - -```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} - +This command updates an exisiting storage path in the specified resource group. \ No newline at end of file diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualHardDisk.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualHardDisk.md index 0371f56c36d2..f5b2bae16cd4 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualHardDisk.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualHardDisk.md @@ -1,22 +1,12 @@ -### Example 1: {{ Add title here }} +### Example 1: Update a Virtual Hard Disk. ```powershell -{{ Add code here }} +Update-AzStackHCIVMVirtualHardDisk -Name "testVhd" -ResourceGroupName "test-rg" -Tag @{"tagname" = "tagvalue"} ``` ```output -{{ Add output here (remove the output block if the example doesn't have an output) }} +Name ResourceGroupName +---- ----------------- +testVhd test-rg ``` -{{ Add description here }} - -### Example 2: {{ Add title here }} -```powershell -{{ Add code here }} -``` - -```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} - +This command updates an exisiting virtual hard disk in the specified resource group. \ No newline at end of file diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md index 0371f56c36d2..adf57c571bd7 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md @@ -1,22 +1,11 @@ -### Example 1: {{ Add title here }} +### Example 1: Update the Size of the Virtual Machine. ```powershell -{{ Add code here }} +Update-AzStackHCIVMVirtualMachine -Name "testVm" -ResourceGroupName "test-rg" -VmMemoryInMB "4" ``` - ```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} - -### Example 2: {{ Add title here }} -```powershell -{{ Add code here }} +Name ResourceGroupName +---- ----------------- +testVm test-rg ``` -```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} - +This command updates an existing virtual machine in the specified resource group. \ No newline at end of file From c68e3f9953316e2b885579581ae443ae32e54989 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:23:30 -0700 Subject: [PATCH 09/21] fix --- .../examples/New-AzStackHCIVMLogicalNetwork.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md index 14c381e43d7e..b4b0a84c969d 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/New-AzStackHCIVMLogicalNetwork.md @@ -9,3 +9,4 @@ testLnet test-rg ``` This command creates a logical network in the specified resource group. + From 09cee4b2bc039c86e2c58e2d5a456e035f7d6791 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:25:14 -0700 Subject: [PATCH 10/21] fix --- .../Remove-AzStackHCIVMStoragePath.md | 22 +++---------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md index 0371f56c36d2..3c3023abe7dc 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md @@ -1,22 +1,6 @@ -### Example 1: {{ Add title here }} +### Example 1: Remove a Storage Path ```powershell -{{ Add code here }} -``` - -```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` + Remove-AzStackHCIVMStoragePath -Name "testStoragePath" -ResourceGroupName "test-rg" -{{ Add description here }} - -### Example 2: {{ Add title here }} -```powershell -{{ Add code here }} ``` - -```output -{{ Add output here (remove the output block if the example doesn't have an output) }} -``` - -{{ Add description here }} - +This command removes the storage path from the specified resource group. \ No newline at end of file From 6439e4de4561b32e38817fc495b27909efbec847 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:26:29 -0700 Subject: [PATCH 11/21] fix --- .../examples/Remove-AzStackHCIVMStoragePath.md | 5 ++++- .../examples/Update-AzStackHCIVMVirtualMachine.md | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md index 3c3023abe7dc..5bec143007e6 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Remove-AzStackHCIVMStoragePath.md @@ -3,4 +3,7 @@ Remove-AzStackHCIVMStoragePath -Name "testStoragePath" -ResourceGroupName "test-rg" ``` -This command removes the storage path from the specified resource group. \ No newline at end of file +This command removes the storage path from the specified resource group. + + + diff --git a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md index adf57c571bd7..6e204e21af3a 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/examples/Update-AzStackHCIVMVirtualMachine.md @@ -8,4 +8,5 @@ Name ResourceGroupName testVm test-rg ``` -This command updates an existing virtual machine in the specified resource group. \ No newline at end of file +This command updates an existing virtual machine in the specified resource group. + From 2a103402ff42f1313591a3b4a63259ee93c58a79 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 16:30:05 -0700 Subject: [PATCH 12/21] vm agent fixes --- .../custom/New-AzStackHCIVMVirtualMachine_New.ps1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualMachine_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualMachine_New.ps1 index ec884ac8aaa5..f133699f205e 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualMachine_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualMachine_New.ps1 @@ -547,9 +547,11 @@ function New-AzStackHCIVMVirtualMachine { $PSBoundParameters.Add("WindowConfigurationProvisionVMConfigAgent", $true) if(-not $ProvisionVMAgent){ $null = $PSBoundParameters.Remove("WindowConfigurationProvisionVMAgent") + $PSBoundParameters.Add("WindowConfigurationProvisionVMAgent", $false) } if (-not $ProvisionVMConfigAgent){ $null = $PSBoundParameters.Remove("WindowConfigurationProvisionVMConfigAgent") + $PSBoundParameters.Add("WindowConfigurationProvisionVMConfigAgent", $true) } $null = $PSBoundParameters.Remove("ProvisionVMAgent") $null = $PSBoundParameters.Remove("ProvisionVMConfigAgent") @@ -580,9 +582,11 @@ function New-AzStackHCIVMVirtualMachine { $PSBoundParameters.Add("LinuxConfigurationProvisionVMConfigAgent", $true) if(-not $ProvisionVMAgent){ $null = $PSBoundParameters.Remove("LinuxConfigurationProvisionVMAgent") + $PSBoundParameters.Add("LinuxConfigurationProvisionVMAgent", $false) } if (-not $ProvisionVMConfigAgent){ $null = $PSBoundParameters.Remove("LinuxConfigurationProvisionVMConfigAgent") + $PSBoundParameters.Add("LinuxConfigurationProvisionVMConfigAgent", $false) } $null = $PSBoundParameters.Remove("ProvisionVMAgent") $null = $PSBoundParameters.Remove("ProvisionVMConfigAgent") From eee16fb4da477609a0564d358e5af1bac11b7e41 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Wed, 20 Mar 2024 21:48:53 -0700 Subject: [PATCH 13/21] removing module versin change --- src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 | 2 +- src/StackHCIVM/StackHCIVM.Autorest/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 b/src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 index cb47b0801262..ca127708a349 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/Az.StackHCIVM.psd1 @@ -1,7 +1,7 @@ @{ GUID = '7389f67c-ec9d-4c13-9c9a-308834413af6' RootModule = './Az.StackHCIVM.psm1' - ModuleVersion = '2.0.0' + ModuleVersion = '0.1.0' CompatiblePSEditions = 'Core', 'Desktop' Author = 'Microsoft Corporation' CompanyName = 'Microsoft Corporation' diff --git a/src/StackHCIVM/StackHCIVM.Autorest/README.md b/src/StackHCIVM/StackHCIVM.Autorest/README.md index ee21464db542..c5ab67c5f845 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/README.md +++ b/src/StackHCIVM/StackHCIVM.Autorest/README.md @@ -70,7 +70,7 @@ input-file: - $(repo)/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2024-01-01/logicalNetworks.json - $(repo)/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2023-03-15-preview/HybridCompute.json -module-version: 2.0.0 +module-version: 0.1.0 title: StackHCIVM service-name: StackHCIVM subject-prefix: $(service-name) From 9af220df89ff834d540ff65f268e6cc1d5b1c228 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Thu, 21 Mar 2024 13:59:48 -0700 Subject: [PATCH 14/21] adding storage path recording --- .../AzStackHCIVMStoragePath.Recording.json | 334 +++++++----------- 1 file changed, 123 insertions(+), 211 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMStoragePath.Recording.json b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMStoragePath.Recording.json index 4a6969f52d35..8f3630328760 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMStoragePath.Recording.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMStoragePath.Recording.json @@ -1,8 +1,8 @@ { - "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview+1": { + "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01+1": { "Request": { "Method": "PUT", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01", "Content": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"path\": \"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\"\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", "isContentBase64": false, "Headers": { @@ -17,40 +17,40 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"4100dfdb-0000-0100-0000-65dd78d20000\"" ], + "ETag": [ "\"75013301-0000-0100-0000-65fc9efe0000\"" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "c35749a7-7c24-4e11-aea9-63d8dbb9c428" ], - "x-ms-request-id": [ "3e0437f6-528f-4fe8-9843-fc2cd0ed36f7" ], - "x-ms-correlation-request-id": [ "3b76a5c1-eb6a-4d6b-93ac-774bd0208a69" ], + "mise-correlation-id": [ "18c697e9-9aa1-4f9f-80ad-bc85f7bf94ba" ], + "x-ms-request-id": [ "e6d1afbc-9103-46a1-9ace-cbdde44d40f2" ], + "x-ms-correlation-request-id": [ "b41b8686-3358-488d-8867-1808f2ea3bb1" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "00XjdZQAAAAD+ruV8r8qlQLK+seyOLY7jTU5aMjIxMDYwNjExMDM3ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055323Z:3b76a5c1-eb6a-4d6b-93ac-774bd0208a69" ], + "X-Azure-Ref": [ "0/Z78ZQAAAACm8yfZLdjqTLQdbo0NAmFaTU5aMjIxMDYwNjEyMDI1ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466513920606126\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=2toNW1bJGt0hAJ7NGf9CHfsO-Pe4xYNdI4WfrDDzw7UXR8wLUrOHSEWFvtt7GnKlcKtKEavq7vaUeZA6QPdTnX4N_pgD_1K2NiKLpNTsBb5GNYLoWXKRqg-rDVkw4g7sazwKP0cd8YjwGjqFNCLNb07HTqtcdJFrJik4dNNgu8vyw1kj6FCHFHeRUf97Kh5DIgxY-mYf8VPLBI0lsdKB2yI8a4Ia8jQuSaA5WW-xrv5-pEQaRRTDw8VJfv4ZT4wGZJmG-wDvbhfH9cnBPIHKhURxs9autanHdm6-a0OY3TK_CBt5morguJO6vqSmRxFfeykF6L-mIWvVb7wdAD4SjQ\u0026h=xweQwTOTB7wzxL4z-udqQyPiu-Vgx1JyJ81B5KtY1-A" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205632Z:b41b8686-3358-488d-8867-1808f2ea3bb1" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 012FE9EC223D4CD98A2DC3B7A7B2A66E Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:53:20Z" ], - "Date": [ "Tue, 27 Feb 2024 05:53:23 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 066CDDB7EE2E4C669E56C363CB7D5586 Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:56:28Z" ], + "Date": [ "Thu, 21 Mar 2024 20:56:31 GMT" ] }, "ContentHeaders": { "Content-Length": [ "837" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"name\":\"teststoragepath0226\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T05:53:21.6204559Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T05:53:21.6204559Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"path\":\"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"name\":\"teststoragepath0226\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T20:56:29.1387473Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-21T20:56:29.1387473Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"path\":\"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\"}}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10+2": { + "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466513920606126\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=2toNW1bJGt0hAJ7NGf9CHfsO-Pe4xYNdI4WfrDDzw7UXR8wLUrOHSEWFvtt7GnKlcKtKEavq7vaUeZA6QPdTnX4N_pgD_1K2NiKLpNTsBb5GNYLoWXKRqg-rDVkw4g7sazwKP0cd8YjwGjqFNCLNb07HTqtcdJFrJik4dNNgu8vyw1kj6FCHFHeRUf97Kh5DIgxY-mYf8VPLBI0lsdKB2yI8a4Ia8jQuSaA5WW-xrv5-pEQaRRTDw8VJfv4ZT4wGZJmG-wDvbhfH9cnBPIHKhURxs9autanHdm6-a0OY3TK_CBt5morguJO6vqSmRxFfeykF6L-mIWvVb7wdAD4SjQ\u0026h=xweQwTOTB7wzxL4z-udqQyPiu-Vgx1JyJ81B5KtY1-A+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466513920606126\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=2toNW1bJGt0hAJ7NGf9CHfsO-Pe4xYNdI4WfrDDzw7UXR8wLUrOHSEWFvtt7GnKlcKtKEavq7vaUeZA6QPdTnX4N_pgD_1K2NiKLpNTsBb5GNYLoWXKRqg-rDVkw4g7sazwKP0cd8YjwGjqFNCLNb07HTqtcdJFrJik4dNNgu8vyw1kj6FCHFHeRUf97Kh5DIgxY-mYf8VPLBI0lsdKB2yI8a4Ia8jQuSaA5WW-xrv5-pEQaRRTDw8VJfv4ZT4wGZJmG-wDvbhfH9cnBPIHKhURxs9autanHdm6-a0OY3TK_CBt5morguJO6vqSmRxFfeykF6L-mIWvVb7wdAD4SjQ\u0026h=xweQwTOTB7wzxL4z-udqQyPiu-Vgx1JyJ81B5KtY1-A", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "2" ], - "x-ms-client-request-id": [ "2d18588c-2cad-49f0-93ee-d8216be05d63" ], + "x-ms-client-request-id": [ "d16f268e-9a76-47de-985f-6eed3ecf7b31" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMStoragePath" ], "FullCommandName": [ "New-AzStackHCIVMStoragePath_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -64,36 +64,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"59019d80-0000-0100-0000-65dd78dc0000\"" ], + "ETag": [ "\"21004949-0000-0100-0000-65fc9f060000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "7cfdee60-aa1f-4a66-8bd3-acb7db2caa12" ], - "x-ms-correlation-request-id": [ "0872c01d-0330-43e5-90dd-513ff9069852" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055354Z:0872c01d-0330-43e5-90dd-513ff9069852" ], + "x-ms-request-id": [ "2ad50df2-a663-468f-9b2d-3d33b31c6002" ], + "x-ms-correlation-request-id": [ "695db515-8be3-414c-90b6-ec9241c70d9f" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205702Z:695db515-8be3-414c-90b6-ec9241c70d9f" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: A2E38153BBE24752BA1365DC43590EC5 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:53:54Z" ], - "Date": [ "Tue, 27 Feb 2024 05:53:53 GMT" ] + "X-MSEdge-Ref": [ "Ref A: DB242DCBDD504904BCAF0D0C2D583ACA Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:57:02Z" ], + "Date": [ "Thu, 21 Mar 2024 20:57:02 GMT" ] }, "ContentHeaders": { "Content-Length": [ "521" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T05:53:21.6985283Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Accepted\",\"startTime\":\"2024-03-21T20:56:29.3878708Z\"}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10+3": { + "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466513920606126\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=2toNW1bJGt0hAJ7NGf9CHfsO-Pe4xYNdI4WfrDDzw7UXR8wLUrOHSEWFvtt7GnKlcKtKEavq7vaUeZA6QPdTnX4N_pgD_1K2NiKLpNTsBb5GNYLoWXKRqg-rDVkw4g7sazwKP0cd8YjwGjqFNCLNb07HTqtcdJFrJik4dNNgu8vyw1kj6FCHFHeRUf97Kh5DIgxY-mYf8VPLBI0lsdKB2yI8a4Ia8jQuSaA5WW-xrv5-pEQaRRTDw8VJfv4ZT4wGZJmG-wDvbhfH9cnBPIHKhURxs9autanHdm6-a0OY3TK_CBt5morguJO6vqSmRxFfeykF6L-mIWvVb7wdAD4SjQ\u0026h=xweQwTOTB7wzxL4z-udqQyPiu-Vgx1JyJ81B5KtY1-A+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466513920606126\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=2toNW1bJGt0hAJ7NGf9CHfsO-Pe4xYNdI4WfrDDzw7UXR8wLUrOHSEWFvtt7GnKlcKtKEavq7vaUeZA6QPdTnX4N_pgD_1K2NiKLpNTsBb5GNYLoWXKRqg-rDVkw4g7sazwKP0cd8YjwGjqFNCLNb07HTqtcdJFrJik4dNNgu8vyw1kj6FCHFHeRUf97Kh5DIgxY-mYf8VPLBI0lsdKB2yI8a4Ia8jQuSaA5WW-xrv5-pEQaRRTDw8VJfv4ZT4wGZJmG-wDvbhfH9cnBPIHKhURxs9autanHdm6-a0OY3TK_CBt5morguJO6vqSmRxFfeykF6L-mIWvVb7wdAD4SjQ\u0026h=xweQwTOTB7wzxL4z-udqQyPiu-Vgx1JyJ81B5KtY1-A", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "3" ], - "x-ms-client-request-id": [ "2d18588c-2cad-49f0-93ee-d8216be05d63" ], + "x-ms-client-request-id": [ "d16f268e-9a76-47de-985f-6eed3ecf7b31" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMStoragePath" ], "FullCommandName": [ "New-AzStackHCIVMStoragePath_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -107,36 +107,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"59019d80-0000-0100-0000-65dd78dc0000\"" ], + "ETag": [ "\"21004949-0000-0100-0000-65fc9f060000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055424Z:459e16b3-ebb3-46c0-bb8c-20ded6d4284e" ], - "x-ms-request-id": [ "4c0ec8b1-bc02-42a9-8702-2ca6c34c8f4d" ], - "x-ms-correlation-request-id": [ "459e16b3-ebb3-46c0-bb8c-20ded6d4284e" ], + "x-ms-request-id": [ "9f7a50d6-c699-4955-a0f2-4c0fa9af226f" ], + "x-ms-correlation-request-id": [ "aa94cf7b-209c-497c-a236-669544380c27" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205732Z:aa94cf7b-209c-497c-a236-669544380c27" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B49EDB98CC2445DCB8786BCF373266A0 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:54:24Z" ], - "Date": [ "Tue, 27 Feb 2024 05:54:24 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 7DF5DA38C02E478391038F37C2B6971B Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:57:32Z" ], + "Date": [ "Thu, 21 Mar 2024 20:57:32 GMT" ] }, "ContentHeaders": { "Content-Length": [ "521" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T05:53:21.6985283Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Accepted\",\"startTime\":\"2024-03-21T20:56:29.3878708Z\"}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10+4": { + "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466513920606126\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=2toNW1bJGt0hAJ7NGf9CHfsO-Pe4xYNdI4WfrDDzw7UXR8wLUrOHSEWFvtt7GnKlcKtKEavq7vaUeZA6QPdTnX4N_pgD_1K2NiKLpNTsBb5GNYLoWXKRqg-rDVkw4g7sazwKP0cd8YjwGjqFNCLNb07HTqtcdJFrJik4dNNgu8vyw1kj6FCHFHeRUf97Kh5DIgxY-mYf8VPLBI0lsdKB2yI8a4Ia8jQuSaA5WW-xrv5-pEQaRRTDw8VJfv4ZT4wGZJmG-wDvbhfH9cnBPIHKhURxs9autanHdm6-a0OY3TK_CBt5morguJO6vqSmRxFfeykF6L-mIWvVb7wdAD4SjQ\u0026h=xweQwTOTB7wzxL4z-udqQyPiu-Vgx1JyJ81B5KtY1-A+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466513920606126\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=2toNW1bJGt0hAJ7NGf9CHfsO-Pe4xYNdI4WfrDDzw7UXR8wLUrOHSEWFvtt7GnKlcKtKEavq7vaUeZA6QPdTnX4N_pgD_1K2NiKLpNTsBb5GNYLoWXKRqg-rDVkw4g7sazwKP0cd8YjwGjqFNCLNb07HTqtcdJFrJik4dNNgu8vyw1kj6FCHFHeRUf97Kh5DIgxY-mYf8VPLBI0lsdKB2yI8a4Ia8jQuSaA5WW-xrv5-pEQaRRTDw8VJfv4ZT4wGZJmG-wDvbhfH9cnBPIHKhURxs9autanHdm6-a0OY3TK_CBt5morguJO6vqSmRxFfeykF6L-mIWvVb7wdAD4SjQ\u0026h=xweQwTOTB7wzxL4z-udqQyPiu-Vgx1JyJ81B5KtY1-A", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "4" ], - "x-ms-client-request-id": [ "2d18588c-2cad-49f0-93ee-d8216be05d63" ], + "x-ms-client-request-id": [ "d16f268e-9a76-47de-985f-6eed3ecf7b31" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMStoragePath" ], "FullCommandName": [ "New-AzStackHCIVMStoragePath_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -150,122 +150,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"59019d80-0000-0100-0000-65dd78dc0000\"" ], + "ETag": [ "\"21002673-0000-0100-0000-65fc9f440000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "02df611b-5665-4040-a4b6-be086663bb55" ], - "x-ms-correlation-request-id": [ "a6cfe545-2241-400b-84f4-0264f819138e" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055454Z:a6cfe545-2241-400b-84f4-0264f819138e" ], + "x-ms-request-id": [ "2330e5ce-e32e-41b9-ab0d-fbb26b808d5e" ], + "x-ms-correlation-request-id": [ "edddb256-087c-49c4-bec7-ab2160000384" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205803Z:edddb256-087c-49c4-bec7-ab2160000384" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 55697CB97166451881B7236F6B957FC5 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:54:54Z" ], - "Date": [ "Tue, 27 Feb 2024 05:54:54 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "521" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T05:53:21.6985283Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10+5": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "5" ], - "x-ms-client-request-id": [ "2d18588c-2cad-49f0-93ee-d8216be05d63" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMStoragePath" ], - "FullCommandName": [ "New-AzStackHCIVMStoragePath_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"59019d80-0000-0100-0000-65dd78dc0000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "25c58151-3f0b-4b7e-8b5a-8cad20c501b4" ], - "x-ms-correlation-request-id": [ "a0070a34-3b0e-4480-abf4-34edd0d80934" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055525Z:a0070a34-3b0e-4480-abf4-34edd0d80934" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: C7E0A6B35311431D82DC80074B64F112 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:55:25Z" ], - "Date": [ "Tue, 27 Feb 2024 05:55:24 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "521" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T05:53:21.6985283Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10+6": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446100038079269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=bLnqLNmgLWhQkQhxQ6nkk9brpoin3F4475gl0Wi1X22-ZVKNGUvUGaFs0N-UAjVlixvE1jn8avP4XrDPBVqX-x-JS1A0OPhNNoPnrqi_MNPo2EPIznnxp6N22rsWsJwD1hopvgsGQrmGDqe7CgEU_ek05VI-0KRfqCtQ1DtrPNCUVlQ0i4dcJtAfE8alIHe3dOSBKEqA66a2yixDf2UljD-hxSDj0Q5jf4ZgYPuRqzYNeQCQfwXcSV2l83WVcWkzi6pis6kKHhzWBRVcE22lLp56dvCI2lgfHUS5IktC9nvY18xGURcPnkHS4b4LlFhWbbUsLApKeC89xU1E_L1yJA\u0026h=qFXlO7QbdDZ-Af-0fkqj2A6RFVDBZ4larPh-q88Sn10", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "6" ], - "x-ms-client-request-id": [ "2d18588c-2cad-49f0-93ee-d8216be05d63" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMStoragePath" ], - "FullCommandName": [ "New-AzStackHCIVMStoragePath_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"59011c91-0000-0100-0000-65dd79530000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "a2cba24e-dc5d-40c0-b1ec-09d3882be7b6" ], - "x-ms-correlation-request-id": [ "440cf4ef-24ba-44e5-ab90-41ad47d89b73" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055555Z:440cf4ef-24ba-44e5-ab90-41ad47d89b73" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 8F4B73F26D2445C2AA97AC426D12C905 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:55:55Z" ], - "Date": [ "Tue, 27 Feb 2024 05:55:55 GMT" ] + "X-MSEdge-Ref": [ "Ref A: E04E3238E97C4B16B5115E12105BC9A9 Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:58:02Z" ], + "Date": [ "Thu, 21 Mar 2024 20:58:02 GMT" ] }, "ContentHeaders": { "Content-Length": [ "592" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"d4910c49-a5d9-4b46-b2e7-fcac6a655707*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T05:53:21.6985283Z\",\"endTime\":\"2024-02-27T05:55:31.5587567Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"9dff0330-2e7e-4266-8f9e-ed96c34d7590*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-21T20:56:29.3878708Z\",\"endTime\":\"2024-03-21T20:57:40.3248532Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview+7": { + "AzStackHCIVMStoragePath+[NoContext]+Create Storage Path +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "7" ], - "x-ms-client-request-id": [ "2d18588c-2cad-49f0-93ee-d8216be05d63" ], + "x-ms-unique-id": [ "5" ], + "x-ms-client-request-id": [ "d16f268e-9a76-47de-985f-6eed3ecf7b31" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMStoragePath" ], "FullCommandName": [ "New-AzStackHCIVMStoragePath_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -279,36 +193,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"410056dc-0000-0100-0000-65dd79540000\"" ], + "ETag": [ "\"75018930-0000-0100-0000-65fc9f450000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "23755825-e9b9-4737-ac6f-d5d5f5272c9e" ], - "x-ms-correlation-request-id": [ "19392d02-aa81-4691-ac5d-23917dcc30c0" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055555Z:19392d02-aa81-4691-ac5d-23917dcc30c0" ], + "x-ms-request-id": [ "0b96740b-d870-4a88-80c6-88a1dc661a45" ], + "x-ms-correlation-request-id": [ "7d4a6a98-ee8b-46d4-b3fd-b754597842cf" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205803Z:7d4a6a98-ee8b-46d4-b3fd-b754597842cf" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 8630291FBF624F65AACF0606776488F4 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:55:55Z" ], - "Date": [ "Tue, 27 Feb 2024 05:55:55 GMT" ] + "X-MSEdge-Ref": [ "Ref A: F5EC590CA3464B869326C4EF75B118A8 Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:58:03Z" ], + "Date": [ "Thu, 21 Mar 2024 20:58:03 GMT" ] }, "ContentHeaders": { "Content-Length": [ "955" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"name\":\"teststoragepath0226\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T05:53:21.6204559Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T05:55:32.3523435Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4718592,\"containerSizeMB\":5242880}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"name\":\"teststoragepath0226\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T20:56:29.1387473Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-21T20:57:41.5451379Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4194304,\"containerSizeMB\":5242880}}}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers?api-version=2023-09-01-preview+1": { + "AzStackHCIVMStoragePath+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "8" ], - "x-ms-client-request-id": [ "22c9f1a1-5afb-49fe-8901-c1640f8a6cbb" ], + "x-ms-unique-id": [ "6" ], + "x-ms-client-request-id": [ "4589767e-72e0-4e68-849b-871732152ccd" ], "CommandName": [ "Get-AzStackHCIVMStoragePath" ], "FullCommandName": [ "Get-AzStackHCIVMStoragePath_List" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -323,35 +237,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-original-request-ids": [ "3cd51091-e120-4b07-bcf8-d58bb12010a5", "c68caba7-bf04-4cdf-b8ee-83c047327de7", "211f054b-ae92-4c98-a834-6dccb0694a47", "c96b6a91-eeeb-432b-879b-d31932679c5b", "7e476ef2-ca59-46bf-a9ab-f2efefb811ef", "db14931b-cf8a-4f84-8e5a-62d0084d8524", "19d9337e-2031-44a6-b17e-bafb2180f0bd", "b82cd49f-f871-4cf3-89f2-973d8bba4d15", "cc3f1950-0307-43aa-a13b-04e7a00c1bb8", "f293faec-424a-492d-bc2a-b1d262918e99" ], + "x-ms-original-request-ids": [ "a33947a2-ce92-4230-8a29-3855f0e66f82", "8fe49765-3821-43cb-8614-d2143ddeebae", "aea62ae8-a0ab-433b-b106-9b044f2ae321", "349f76ec-92b3-4b2b-b76d-ecc4667cf9a5", "51cbde8e-cebf-4f99-87cb-43bccee96f90", "41ae3d8f-d9ac-4830-801c-5072ca97ee6d", "a55bb2c1-9e65-420e-8f97-869bbe32f382", "e4cb453c-1e33-4d5c-b197-e1a527bc4637", "a3532cf2-8a50-4d0c-9546-fc3ee6d5e174", "63765138-4df7-4c8e-9128-78690ebf3872" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-request-id": [ "e8c8ce9c-537f-4dee-9dee-5797b2c23513" ], - "x-ms-correlation-request-id": [ "e8c8ce9c-537f-4dee-9dee-5797b2c23513" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055557Z:e8c8ce9c-537f-4dee-9dee-5797b2c23513" ], + "x-ms-request-id": [ "2d857ba8-1fbf-4027-bc8b-ffd2250d0934" ], + "x-ms-correlation-request-id": [ "2d857ba8-1fbf-4027-bc8b-ffd2250d0934" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205805Z:2d857ba8-1fbf-4027-bc8b-ffd2250d0934" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 013160AEBD20482FBE6A993FA5C4E545 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:55:56Z" ], - "Date": [ "Tue, 27 Feb 2024 05:55:56 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 257D4550D48E4307A5B8BA95DBA5B6EF Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:58:03Z" ], + "Date": [ "Thu, 21 Mar 2024 20:58:04 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1920" ], + "Content-Length": [ "2895" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"name\":\"teststoragepath0226\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T05:53:21.6204559Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T05:55:32.3523435Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4718592,\"containerSizeMB\":5242880}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\",\"name\":\"sc-pathuang-0109\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T23:46:20.1808613Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T01:52:25.0719947Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\ClusterStorage\\\\Volume1\\\\sc-pathuang-0109\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4508876,\"containerSizeMB\":5242880}}}]}", + "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"name\":\"teststoragepath0226\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T20:56:29.1387473Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-21T20:57:41.5451379Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4194304,\"containerSizeMB\":5242880}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\",\"name\":\"sc-pathuang-0109\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T23:46:20.1808613Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T19:00:07.6449146Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\ClusterStorage\\\\Volume1\\\\sc-pathuang-0109\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4194304,\"containerSizeMB\":5242880}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/sc-pathuang-0319-01\",\"name\":\"sc-pathuang-0319-01\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"tag1\":\"031924\",\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-19T14:33:05.998863Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T18:49:12.6437221Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\ClusterStorage\\\\Volume1\\\\sc-pathuang-01-09\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4194304,\"containerSizeMB\":5242880}}}]}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview+1": { + "AzStackHCIVMStoragePath+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "9" ], - "x-ms-client-request-id": [ "d70986f4-60f3-4f06-b8ff-a0d89de946d5" ], + "x-ms-unique-id": [ "7" ], + "x-ms-client-request-id": [ "25de30a8-40a0-4f3c-b4f6-467f75ccfb2d" ], "CommandName": [ "Get-AzStackHCIVMStoragePath" ], "FullCommandName": [ "Get-AzStackHCIVMStoragePath_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -366,36 +280,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"410056dc-0000-0100-0000-65dd79540000\"" ], + "ETag": [ "\"75018930-0000-0100-0000-65fc9f450000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "51f699f4-5e45-445c-9e82-de235546a07a" ], - "x-ms-correlation-request-id": [ "9dcbae8c-5713-45e7-b60a-0dab348d7d66" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055557Z:9dcbae8c-5713-45e7-b60a-0dab348d7d66" ], + "x-ms-request-id": [ "9df684b4-c9f5-49a3-b08c-8d864b1fa9b7" ], + "x-ms-correlation-request-id": [ "ae8baed1-ceb6-441e-b542-34f73ee94483" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205805Z:ae8baed1-ceb6-441e-b542-34f73ee94483" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: CFAA147F5CE54479BABD3A14BBBA5BC2 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:55:57Z" ], - "Date": [ "Tue, 27 Feb 2024 05:55:57 GMT" ] + "X-MSEdge-Ref": [ "Ref A: B1CEF6B302F04D868A846D85EECA6D1A Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:58:05Z" ], + "Date": [ "Thu, 21 Mar 2024 20:58:05 GMT" ] }, "ContentHeaders": { "Content-Length": [ "955" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"name\":\"teststoragepath0226\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T05:53:21.6204559Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T05:55:32.3523435Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4718592,\"containerSizeMB\":5242880}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"name\":\"teststoragepath0226\",\"type\":\"microsoft.azurestackhci/storagecontainers\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T20:56:29.1387473Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-21T20:57:41.5451379Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"path\":\"C:\\\\\\\\ClusterStorage\\\\\\\\Volume1\\\\\\\\testPath1106\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"availableSizeMB\":4194304,\"containerSizeMB\":5242880}}}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview+1": { + "AzStackHCIVMStoragePath+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01+1": { "Request": { "Method": "DELETE", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "10" ], - "x-ms-client-request-id": [ "89361d6b-2bee-43b7-9b95-169fba511b96" ], + "x-ms-unique-id": [ "8" ], + "x-ms-client-request-id": [ "d1a6bb85-e6b5-42ee-83e2-4cc2cd9a08db" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMStoragePath" ], "FullCommandName": [ "Remove-AzStackHCIVMStoragePath_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -410,21 +324,21 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"410063dc-0000-0100-0000-65dd796e0000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446101586391478\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=E2Q_STHsR6PyFq_fWfTm-1woMf8PAeV9UHX5PwQSRGg2bxPnAJtouAQ_zksRNdH76yg0RoxcsHtKJiIoGEakGd-gxOdC89m44spL4qgVxInp1JPklTQmivhAW789DHBygYFoTt38zgZDtiXEvbGvjWFU-T683NmhhkGJRqagZ0KJsoS1sX_mEQtBR7duR3pFA-sN2alPevz81CaktrOtReAs7zeLG5iRe7m1tkKWKYqXAFIwnmO2OK1xRU5dbVW6_0XUve9NLWo4buRaowTU56O7NyqN5qHF_sw_3KRi5n3--vqY0lI073_RPyekdH2dygUB8ILMw1mEtXnV-uz4Rw\u0026h=iAhdgtiHazuSBD2k3zjnSuqD5SVLGVmhDQY8KClnjhg" ], + "ETag": [ "\"75018040-0000-0100-0000-65fc9f5e0000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466514866426040\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=WuXJPK0Jzfn9QI80zmRoxHM3e0c1b-rwcZJrKKg8o_zisa1giVd4uqsbYKiprl2MyyHR_EhUBiIBrG0OrK-dgYasBPgmXt-9wr3iq6zcgivkpLzp9U8ZOcxDeKmT2ESJNiz9pmU4Wfu3Rcr3pa7hf8Cx09YbGQQ2VvT2Wm65U8MoF1kOB1Fxmw-M8l-Qgt_SwAOUy_wXre5J7XA-Kv3zAuqY_jjkR_CNbgd4xi71QgznLFqlp7H6hVmwtClp7BPB9ZZA5izUmQRGZ9EwqyzIvWhejnuimtaj9pJHzlC8PQkGP8ueqH09W0JH8nkbEbXnQvAWd6DbKw8Zt9FQ7sidbg\u0026h=mdy4paazA02nMIzW7BpEhjxwV08fNciLQJFQQt-1iOo" ], "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "1b0b1ad3-2928-4811-9851-0acb5266b9b5" ], + "mise-correlation-id": [ "92308066-416c-41f2-b0b7-44510a376066" ], "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0bnndZQAAAAB0Y5H9XEBBQL9qsSxOrYy8TU5aMjIxMDYwNjE0MDE5ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446101586391478\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=E2Q_STHsR6PyFq_fWfTm-1woMf8PAeV9UHX5PwQSRGg2bxPnAJtouAQ_zksRNdH76yg0RoxcsHtKJiIoGEakGd-gxOdC89m44spL4qgVxInp1JPklTQmivhAW789DHBygYFoTt38zgZDtiXEvbGvjWFU-T683NmhhkGJRqagZ0KJsoS1sX_mEQtBR7duR3pFA-sN2alPevz81CaktrOtReAs7zeLG5iRe7m1tkKWKYqXAFIwnmO2OK1xRU5dbVW6_0XUve9NLWo4buRaowTU56O7NyqN5qHF_sw_3KRi5n3--vqY0lI073_RPyekdH2dygUB8ILMw1mEtXnV-uz4Rw\u0026h=iAhdgtiHazuSBD2k3zjnSuqD5SVLGVmhDQY8KClnjhg" ], - "x-ms-correlation-request-id": [ "10693f70-5585-43f4-8299-8a44a6a699e7" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055558Z:10693f70-5585-43f4-8299-8a44a6a699e7" ], + "X-Azure-Ref": [ "0XZ/8ZQAAAAAH72fG5WfmSIRBh0EKOhQPTU5aMjIxMDYwNjE0MDIxADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466514866426040\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=WuXJPK0Jzfn9QI80zmRoxHM3e0c1b-rwcZJrKKg8o_zisa1giVd4uqsbYKiprl2MyyHR_EhUBiIBrG0OrK-dgYasBPgmXt-9wr3iq6zcgivkpLzp9U8ZOcxDeKmT2ESJNiz9pmU4Wfu3Rcr3pa7hf8Cx09YbGQQ2VvT2Wm65U8MoF1kOB1Fxmw-M8l-Qgt_SwAOUy_wXre5J7XA-Kv3zAuqY_jjkR_CNbgd4xi71QgznLFqlp7H6hVmwtClp7BPB9ZZA5izUmQRGZ9EwqyzIvWhejnuimtaj9pJHzlC8PQkGP8ueqH09W0JH8nkbEbXnQvAWd6DbKw8Zt9FQ7sidbg\u0026h=mdy4paazA02nMIzW7BpEhjxwV08fNciLQJFQQt-1iOo" ], + "x-ms-correlation-request-id": [ "9d2c4cfb-8608-489c-b8e6-f0e750f5ccf8" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205806Z:9d2c4cfb-8608-489c-b8e6-f0e750f5ccf8" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 407F2D39789C412C81B7F46602C41FA2 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:55:57Z" ], - "Date": [ "Tue, 27 Feb 2024 05:55:58 GMT" ] + "X-MSEdge-Ref": [ "Ref A: CC64D2F37EE24CB392D9CEE1984B80E7 Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:58:05Z" ], + "Date": [ "Thu, 21 Mar 2024 20:58:06 GMT" ] }, "ContentHeaders": { "Content-Length": [ "4" ], @@ -435,16 +349,16 @@ "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446101586391478\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=E2Q_STHsR6PyFq_fWfTm-1woMf8PAeV9UHX5PwQSRGg2bxPnAJtouAQ_zksRNdH76yg0RoxcsHtKJiIoGEakGd-gxOdC89m44spL4qgVxInp1JPklTQmivhAW789DHBygYFoTt38zgZDtiXEvbGvjWFU-T683NmhhkGJRqagZ0KJsoS1sX_mEQtBR7duR3pFA-sN2alPevz81CaktrOtReAs7zeLG5iRe7m1tkKWKYqXAFIwnmO2OK1xRU5dbVW6_0XUve9NLWo4buRaowTU56O7NyqN5qHF_sw_3KRi5n3--vqY0lI073_RPyekdH2dygUB8ILMw1mEtXnV-uz4Rw\u0026h=iAhdgtiHazuSBD2k3zjnSuqD5SVLGVmhDQY8KClnjhg+2": { + "AzStackHCIVMStoragePath+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466514866426040\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=WuXJPK0Jzfn9QI80zmRoxHM3e0c1b-rwcZJrKKg8o_zisa1giVd4uqsbYKiprl2MyyHR_EhUBiIBrG0OrK-dgYasBPgmXt-9wr3iq6zcgivkpLzp9U8ZOcxDeKmT2ESJNiz9pmU4Wfu3Rcr3pa7hf8Cx09YbGQQ2VvT2Wm65U8MoF1kOB1Fxmw-M8l-Qgt_SwAOUy_wXre5J7XA-Kv3zAuqY_jjkR_CNbgd4xi71QgznLFqlp7H6hVmwtClp7BPB9ZZA5izUmQRGZ9EwqyzIvWhejnuimtaj9pJHzlC8PQkGP8ueqH09W0JH8nkbEbXnQvAWd6DbKw8Zt9FQ7sidbg\u0026h=mdy4paazA02nMIzW7BpEhjxwV08fNciLQJFQQt-1iOo+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446101586391478\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=E2Q_STHsR6PyFq_fWfTm-1woMf8PAeV9UHX5PwQSRGg2bxPnAJtouAQ_zksRNdH76yg0RoxcsHtKJiIoGEakGd-gxOdC89m44spL4qgVxInp1JPklTQmivhAW789DHBygYFoTt38zgZDtiXEvbGvjWFU-T683NmhhkGJRqagZ0KJsoS1sX_mEQtBR7duR3pFA-sN2alPevz81CaktrOtReAs7zeLG5iRe7m1tkKWKYqXAFIwnmO2OK1xRU5dbVW6_0XUve9NLWo4buRaowTU56O7NyqN5qHF_sw_3KRi5n3--vqY0lI073_RPyekdH2dygUB8ILMw1mEtXnV-uz4Rw\u0026h=iAhdgtiHazuSBD2k3zjnSuqD5SVLGVmhDQY8KClnjhg", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466514866426040\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=WuXJPK0Jzfn9QI80zmRoxHM3e0c1b-rwcZJrKKg8o_zisa1giVd4uqsbYKiprl2MyyHR_EhUBiIBrG0OrK-dgYasBPgmXt-9wr3iq6zcgivkpLzp9U8ZOcxDeKmT2ESJNiz9pmU4Wfu3Rcr3pa7hf8Cx09YbGQQ2VvT2Wm65U8MoF1kOB1Fxmw-M8l-Qgt_SwAOUy_wXre5J7XA-Kv3zAuqY_jjkR_CNbgd4xi71QgznLFqlp7H6hVmwtClp7BPB9ZZA5izUmQRGZ9EwqyzIvWhejnuimtaj9pJHzlC8PQkGP8ueqH09W0JH8nkbEbXnQvAWd6DbKw8Zt9FQ7sidbg\u0026h=mdy4paazA02nMIzW7BpEhjxwV08fNciLQJFQQt-1iOo", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "11" ], - "x-ms-client-request-id": [ "89361d6b-2bee-43b7-9b95-169fba511b96" ], + "x-ms-unique-id": [ "9" ], + "x-ms-client-request-id": [ "d1a6bb85-e6b5-42ee-83e2-4cc2cd9a08db" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMStoragePath" ], "FullCommandName": [ "Remove-AzStackHCIVMStoragePath_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -458,36 +372,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5901cf98-0000-0100-0000-65dd798a0000\"" ], + "ETag": [ "\"21003b8f-0000-0100-0000-65fc9f680000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "b6dd36e8-2985-4df3-85d7-238bd4c6fdc8" ], - "x-ms-correlation-request-id": [ "cd48ca88-7fa4-4be4-bef6-1390b252d354" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055629Z:cd48ca88-7fa4-4be4-bef6-1390b252d354" ], + "x-ms-request-id": [ "bc88d4ce-353e-430a-8886-bdd06ab7ffb1" ], + "x-ms-correlation-request-id": [ "735723e8-723e-4a0d-b3f4-6a5ec0adb362" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205837Z:735723e8-723e-4a0d-b3f4-6a5ec0adb362" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: F27E18044D1746E880BCB06B15AB8BF2 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:56:28Z" ], - "Date": [ "Tue, 27 Feb 2024 05:56:28 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C9A8E01A3D8F4C189ECCA744E56F4139 Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:58:36Z" ], + "Date": [ "Thu, 21 Mar 2024 20:58:36 GMT" ] }, "ContentHeaders": { "Content-Length": [ "581" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T05:55:58.1437178Z\",\"endTime\":\"2024-02-27T05:56:26.3115963Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-21T20:58:05.9204294Z\",\"endTime\":\"2024-03-21T20:58:16.4559444Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446101586391478\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=E2Q_STHsR6PyFq_fWfTm-1woMf8PAeV9UHX5PwQSRGg2bxPnAJtouAQ_zksRNdH76yg0RoxcsHtKJiIoGEakGd-gxOdC89m44spL4qgVxInp1JPklTQmivhAW789DHBygYFoTt38zgZDtiXEvbGvjWFU-T683NmhhkGJRqagZ0KJsoS1sX_mEQtBR7duR3pFA-sN2alPevz81CaktrOtReAs7zeLG5iRe7m1tkKWKYqXAFIwnmO2OK1xRU5dbVW6_0XUve9NLWo4buRaowTU56O7NyqN5qHF_sw_3KRi5n3--vqY0lI073_RPyekdH2dygUB8ILMw1mEtXnV-uz4Rw\u0026h=iAhdgtiHazuSBD2k3zjnSuqD5SVLGVmhDQY8KClnjhg+3": { + "AzStackHCIVMStoragePath+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466514866426040\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=WuXJPK0Jzfn9QI80zmRoxHM3e0c1b-rwcZJrKKg8o_zisa1giVd4uqsbYKiprl2MyyHR_EhUBiIBrG0OrK-dgYasBPgmXt-9wr3iq6zcgivkpLzp9U8ZOcxDeKmT2ESJNiz9pmU4Wfu3Rcr3pa7hf8Cx09YbGQQ2VvT2Wm65U8MoF1kOB1Fxmw-M8l-Qgt_SwAOUy_wXre5J7XA-Kv3zAuqY_jjkR_CNbgd4xi71QgznLFqlp7H6hVmwtClp7BPB9ZZA5izUmQRGZ9EwqyzIvWhejnuimtaj9pJHzlC8PQkGP8ueqH09W0JH8nkbEbXnQvAWd6DbKw8Zt9FQ7sidbg\u0026h=mdy4paazA02nMIzW7BpEhjxwV08fNciLQJFQQt-1iOo+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2023-09-01-preview\u0026t=638446101586391478\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=E2Q_STHsR6PyFq_fWfTm-1woMf8PAeV9UHX5PwQSRGg2bxPnAJtouAQ_zksRNdH76yg0RoxcsHtKJiIoGEakGd-gxOdC89m44spL4qgVxInp1JPklTQmivhAW789DHBygYFoTt38zgZDtiXEvbGvjWFU-T683NmhhkGJRqagZ0KJsoS1sX_mEQtBR7duR3pFA-sN2alPevz81CaktrOtReAs7zeLG5iRe7m1tkKWKYqXAFIwnmO2OK1xRU5dbVW6_0XUve9NLWo4buRaowTU56O7NyqN5qHF_sw_3KRi5n3--vqY0lI073_RPyekdH2dygUB8ILMw1mEtXnV-uz4Rw\u0026h=iAhdgtiHazuSBD2k3zjnSuqD5SVLGVmhDQY8KClnjhg", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12?api-version=2024-01-01\u0026t=638466514866426040\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=WuXJPK0Jzfn9QI80zmRoxHM3e0c1b-rwcZJrKKg8o_zisa1giVd4uqsbYKiprl2MyyHR_EhUBiIBrG0OrK-dgYasBPgmXt-9wr3iq6zcgivkpLzp9U8ZOcxDeKmT2ESJNiz9pmU4Wfu3Rcr3pa7hf8Cx09YbGQQ2VvT2Wm65U8MoF1kOB1Fxmw-M8l-Qgt_SwAOUy_wXre5J7XA-Kv3zAuqY_jjkR_CNbgd4xi71QgznLFqlp7H6hVmwtClp7BPB9ZZA5izUmQRGZ9EwqyzIvWhejnuimtaj9pJHzlC8PQkGP8ueqH09W0JH8nkbEbXnQvAWd6DbKw8Zt9FQ7sidbg\u0026h=mdy4paazA02nMIzW7BpEhjxwV08fNciLQJFQQt-1iOo", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "12" ], - "x-ms-client-request-id": [ "89361d6b-2bee-43b7-9b95-169fba511b96" ], + "x-ms-unique-id": [ "10" ], + "x-ms-client-request-id": [ "d1a6bb85-e6b5-42ee-83e2-4cc2cd9a08db" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMStoragePath" ], "FullCommandName": [ "Remove-AzStackHCIVMStoragePath_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -501,35 +415,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5901cf98-0000-0100-0000-65dd798a0000\"" ], + "ETag": [ "\"21003b8f-0000-0100-0000-65fc9f680000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "a193ba1b-3c5a-470f-89a2-8a7339fdf52e" ], - "x-ms-correlation-request-id": [ "36503f4e-a47e-48fd-9653-23e1f2a81a4a" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055629Z:36503f4e-a47e-48fd-9653-23e1f2a81a4a" ], + "x-ms-request-id": [ "5dcc10f5-d014-4c0c-981f-4f7b3e9afa60" ], + "x-ms-correlation-request-id": [ "722088de-cbe0-440d-aec9-b0159114ce0d" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205837Z:722088de-cbe0-440d-aec9-b0159114ce0d" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3B642AA838CF4D0BBE45634C3DEEEBDD Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:56:29Z" ], - "Date": [ "Tue, 27 Feb 2024 05:56:28 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 68E67DC3D29C4375AE28BC67BF498B8E Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:58:37Z" ], + "Date": [ "Thu, 21 Mar 2024 20:58:36 GMT" ] }, "ContentHeaders": { "Content-Length": [ "581" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"6665363e-f024-4867-ae48-4ffd416c0359*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T05:55:58.1437178Z\",\"endTime\":\"2024-02-27T05:56:26.3115963Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"name\":\"b5315340-cdc3-448e-b4f3-bfb327a24de7*4CB8A80C7C81D3510850ECD707515E744AA2BCC5A55D321C23E70F447232EC12\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-21T20:58:05.9204294Z\",\"endTime\":\"2024-03-21T20:58:16.4559444Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMStoragePath+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview+4": { + "AzStackHCIVMStoragePath+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storageContainers/teststoragepath0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "13" ], - "x-ms-client-request-id": [ "77be651f-df5c-4c15-abc3-76ea0ad96ff3" ], + "x-ms-unique-id": [ "11" ], + "x-ms-client-request-id": [ "a6160744-52ed-4c85-bf34-a1d51ec77296" ], "CommandName": [ "Get-AzStackHCIVMStoragePath" ], "FullCommandName": [ "Get-AzStackHCIVMStoragePath_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -544,24 +458,22 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "0759f92e-369d-4200-8a81-86c61148e564" ], - "x-ms-correlation-request-id": [ "2239e953-2ebd-4c24-8725-cfab6cb2d18c" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T055629Z:2239e953-2ebd-4c24-8725-cfab6cb2d18c" ], + "x-ms-request-id": [ "0a3e964b-e2ca-4fa0-9e97-94628ed7b90a" ], + "x-ms-correlation-request-id": [ "0a3e964b-e2ca-4fa0-9e97-94628ed7b90a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T205837Z:0a3e964b-e2ca-4fa0-9e97-94628ed7b90a" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: EAED8777977546BA8B9F8AE053DB09C2 Ref B: CO6AA3150219011 Ref C: 2024-02-27T05:56:29Z" ], - "Date": [ "Tue, 27 Feb 2024 05:56:28 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 32247812264E445A996A95A373DF8128 Ref B: CO6AA3150219031 Ref C: 2024-03-21T20:58:37Z" ], + "Date": [ "Thu, 21 Mar 2024 20:58:36 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "146" ], - "Content-Type": [ "application/json" ], + "Content-Length": [ "245" ], + "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The resource \u0027Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\u0027 could not be found.\"}}", + "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The Resource \u0027Microsoft.AzureStackHCI/storageContainers/teststoragepath0226\u0027 under resource group \u0027mkclus104-rg\u0027 was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"}}", "isContentBase64": false } } From 752ba1b3e628ebe623f8f04b496fcede7ac16161 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Thu, 21 Mar 2024 14:39:48 -0700 Subject: [PATCH 15/21] adding disk recording --- ...zStackHCIVMVirtualHardDisks.Recording.json | 369 ++++++++---------- 1 file changed, 163 insertions(+), 206 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMVirtualHardDisks.Recording.json b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMVirtualHardDisks.Recording.json index a2b517d5f5dc..07ca3b519c9a 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMVirtualHardDisks.Recording.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMVirtualHardDisks.Recording.json @@ -1,8 +1,8 @@ { - "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview+1": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01+1": { "Request": { "Method": "PUT", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01", "Content": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"diskSizeGB\": 2\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", "isContentBase64": false, "Headers": { @@ -17,40 +17,40 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"ec006968-0000-0100-0000-65dd7a620000\"" ], + "ETag": [ "\"a7007618-0000-0100-0000-65fc9fff0000\"" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "7de926a9-39aa-4c11-a033-90def409f673" ], - "x-ms-request-id": [ "250bddec-0579-41d1-8ec6-29b1ed709db2" ], - "x-ms-correlation-request-id": [ "d2956da6-a01d-4006-b0ac-610fe2ec284d" ], + "mise-correlation-id": [ "58eebe2a-9775-490a-ba00-958d2853dde1" ], + "x-ms-request-id": [ "8d692ec0-0818-49b4-bfd1-49251e48afac" ], + "x-ms-correlation-request-id": [ "20dec9ab-30dc-490b-9766-78e38ef7922f" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0YHrdZQAAAACI7zI2xOQ/TKf64R5lS2bITU5aMjIxMDYwNjExMDQ1ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060003Z:d2956da6-a01d-4006-b0ac-610fe2ec284d" ], + "X-Azure-Ref": [ "0/5/8ZQAAAAC14yY51i6OSoLpUTp/6VG6Qk4xQUEyMDUxMDIxMDM3ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466516488165963\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N2BWY5e4F1zj-kSE38UMPKWzpu8RWQ-Cu1H47bxmgC3o6m4DGrXRFWBv77-tSS70w9lM89iKTlNwrzlTOkVq2sPhRTCIrSwo1J2W1jd2xVl5bbFDGrhBqbNcdHXVLtUIm6hg3AHAqEt8b0mgUhahYutp_EYvwUlizcvJFikP-xaqnwqWFFPAm6Md3cY5Wc8SPZpXlNkJoxD9Ar2qsnsDhvRLr8-M-afLf9rciw3YXpBytGOGkfLMy30Fph7rIQVzUBzoF3hDi1C9k5Q1sNnc7r2BLLw8LcYlQZUKWxqimMsr9YAePJXxyZTqFvSE4pRsz5NO5pmFPwsOyK39hTFWpQ\u0026h=yTP7jKnxQRxYcawHWn_0mS8tiFhW3UNZmAdfVMrM3jM" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210048Z:20dec9ab-30dc-490b-9766-78e38ef7922f" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: B491394A843543148D55DE15322084D2 Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:00:00Z" ], - "Date": [ "Tue, 27 Feb 2024 06:00:02 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 77E20A9266394BC582C6C14475B2462E Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:00:46Z" ], + "Date": [ "Thu, 21 Mar 2024 21:00:48 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "819" ], + "Content-Length": [ "777" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"name\":\"testVhd1127\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-22T21:15:30.603318Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:00:00.444047Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"diskSizeGB\":2}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"name\":\"testVhd1127\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T21:00:47.4572322Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-21T21:00:47.4572322Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"diskSizeGB\":2}}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8+2": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466516488165963\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N2BWY5e4F1zj-kSE38UMPKWzpu8RWQ-Cu1H47bxmgC3o6m4DGrXRFWBv77-tSS70w9lM89iKTlNwrzlTOkVq2sPhRTCIrSwo1J2W1jd2xVl5bbFDGrhBqbNcdHXVLtUIm6hg3AHAqEt8b0mgUhahYutp_EYvwUlizcvJFikP-xaqnwqWFFPAm6Md3cY5Wc8SPZpXlNkJoxD9Ar2qsnsDhvRLr8-M-afLf9rciw3YXpBytGOGkfLMy30Fph7rIQVzUBzoF3hDi1C9k5Q1sNnc7r2BLLw8LcYlQZUKWxqimMsr9YAePJXxyZTqFvSE4pRsz5NO5pmFPwsOyK39hTFWpQ\u0026h=yTP7jKnxQRxYcawHWn_0mS8tiFhW3UNZmAdfVMrM3jM+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466516488165963\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N2BWY5e4F1zj-kSE38UMPKWzpu8RWQ-Cu1H47bxmgC3o6m4DGrXRFWBv77-tSS70w9lM89iKTlNwrzlTOkVq2sPhRTCIrSwo1J2W1jd2xVl5bbFDGrhBqbNcdHXVLtUIm6hg3AHAqEt8b0mgUhahYutp_EYvwUlizcvJFikP-xaqnwqWFFPAm6Md3cY5Wc8SPZpXlNkJoxD9Ar2qsnsDhvRLr8-M-afLf9rciw3YXpBytGOGkfLMy30Fph7rIQVzUBzoF3hDi1C9k5Q1sNnc7r2BLLw8LcYlQZUKWxqimMsr9YAePJXxyZTqFvSE4pRsz5NO5pmFPwsOyK39hTFWpQ\u0026h=yTP7jKnxQRxYcawHWn_0mS8tiFhW3UNZmAdfVMrM3jM", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "2" ], - "x-ms-client-request-id": [ "1638dbe4-068f-4554-9c21-cfe4dad2bb17" ], + "x-ms-client-request-id": [ "58f532e5-28f5-4373-8cce-24d5e28bddfe" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualHardDisk" ], "FullCommandName": [ "New-AzStackHCIVMVirtualHardDisk_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -64,36 +64,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5901cfb2-0000-0100-0000-65dd7a6a0000\"" ], + "ETag": [ "\"210090f8-0000-0100-0000-65fca0070000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "d374e36f-f602-4f71-b060-7b336496af66" ], - "x-ms-correlation-request-id": [ "19a645a5-d032-4fc1-890d-408e5470d725" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060033Z:19a645a5-d032-4fc1-890d-408e5470d725" ], + "x-ms-request-id": [ "c7e7b50b-4472-478b-9c52-c5a63baa01aa" ], + "x-ms-correlation-request-id": [ "6fc663b8-8f22-4726-973c-b51d50f6ec10" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210119Z:6fc663b8-8f22-4726-973c-b51d50f6ec10" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3BB49B3DF47045919454E186FABD662A Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:00:33Z" ], - "Date": [ "Tue, 27 Feb 2024 06:00:32 GMT" ] + "X-MSEdge-Ref": [ "Ref A: AB17010C228646228A398405DD1FAFEA Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:01:19Z" ], + "Date": [ "Thu, 21 Mar 2024 21:01:18 GMT" ] }, "ContentHeaders": { "Content-Length": [ "512" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:00:00.5856031Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Accepted\",\"startTime\":\"2024-03-21T21:00:47.5498625Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8+3": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466516488165963\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N2BWY5e4F1zj-kSE38UMPKWzpu8RWQ-Cu1H47bxmgC3o6m4DGrXRFWBv77-tSS70w9lM89iKTlNwrzlTOkVq2sPhRTCIrSwo1J2W1jd2xVl5bbFDGrhBqbNcdHXVLtUIm6hg3AHAqEt8b0mgUhahYutp_EYvwUlizcvJFikP-xaqnwqWFFPAm6Md3cY5Wc8SPZpXlNkJoxD9Ar2qsnsDhvRLr8-M-afLf9rciw3YXpBytGOGkfLMy30Fph7rIQVzUBzoF3hDi1C9k5Q1sNnc7r2BLLw8LcYlQZUKWxqimMsr9YAePJXxyZTqFvSE4pRsz5NO5pmFPwsOyK39hTFWpQ\u0026h=yTP7jKnxQRxYcawHWn_0mS8tiFhW3UNZmAdfVMrM3jM+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466516488165963\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N2BWY5e4F1zj-kSE38UMPKWzpu8RWQ-Cu1H47bxmgC3o6m4DGrXRFWBv77-tSS70w9lM89iKTlNwrzlTOkVq2sPhRTCIrSwo1J2W1jd2xVl5bbFDGrhBqbNcdHXVLtUIm6hg3AHAqEt8b0mgUhahYutp_EYvwUlizcvJFikP-xaqnwqWFFPAm6Md3cY5Wc8SPZpXlNkJoxD9Ar2qsnsDhvRLr8-M-afLf9rciw3YXpBytGOGkfLMy30Fph7rIQVzUBzoF3hDi1C9k5Q1sNnc7r2BLLw8LcYlQZUKWxqimMsr9YAePJXxyZTqFvSE4pRsz5NO5pmFPwsOyK39hTFWpQ\u0026h=yTP7jKnxQRxYcawHWn_0mS8tiFhW3UNZmAdfVMrM3jM", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "3" ], - "x-ms-client-request-id": [ "1638dbe4-068f-4554-9c21-cfe4dad2bb17" ], + "x-ms-client-request-id": [ "58f532e5-28f5-4373-8cce-24d5e28bddfe" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualHardDisk" ], "FullCommandName": [ "New-AzStackHCIVMVirtualHardDisk_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -107,36 +107,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5901cfb2-0000-0100-0000-65dd7a6a0000\"" ], + "ETag": [ "\"210090f8-0000-0100-0000-65fca0070000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "1e27d622-3abf-472a-8aa9-ad5887bd69cf" ], - "x-ms-correlation-request-id": [ "356d76a7-7e7e-4cef-b4ad-d2d01f8dcd5e" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060103Z:356d76a7-7e7e-4cef-b4ad-d2d01f8dcd5e" ], + "x-ms-request-id": [ "e51c734c-2207-49ff-9ede-e367160a127e" ], + "x-ms-correlation-request-id": [ "e036f095-2949-4319-988d-8cdebc9687dc" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210149Z:e036f095-2949-4319-988d-8cdebc9687dc" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 97AF4A67AF9A460F97C52EF5A486EA6C Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:01:03Z" ], - "Date": [ "Tue, 27 Feb 2024 06:01:03 GMT" ] + "X-MSEdge-Ref": [ "Ref A: E092D291014941AF8DE68D6DA12E6BE4 Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:01:49Z" ], + "Date": [ "Thu, 21 Mar 2024 21:01:49 GMT" ] }, "ContentHeaders": { "Content-Length": [ "512" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:00:00.5856031Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Accepted\",\"startTime\":\"2024-03-21T21:00:47.5498625Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8+4": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466516488165963\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N2BWY5e4F1zj-kSE38UMPKWzpu8RWQ-Cu1H47bxmgC3o6m4DGrXRFWBv77-tSS70w9lM89iKTlNwrzlTOkVq2sPhRTCIrSwo1J2W1jd2xVl5bbFDGrhBqbNcdHXVLtUIm6hg3AHAqEt8b0mgUhahYutp_EYvwUlizcvJFikP-xaqnwqWFFPAm6Md3cY5Wc8SPZpXlNkJoxD9Ar2qsnsDhvRLr8-M-afLf9rciw3YXpBytGOGkfLMy30Fph7rIQVzUBzoF3hDi1C9k5Q1sNnc7r2BLLw8LcYlQZUKWxqimMsr9YAePJXxyZTqFvSE4pRsz5NO5pmFPwsOyK39hTFWpQ\u0026h=yTP7jKnxQRxYcawHWn_0mS8tiFhW3UNZmAdfVMrM3jM+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466516488165963\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N2BWY5e4F1zj-kSE38UMPKWzpu8RWQ-Cu1H47bxmgC3o6m4DGrXRFWBv77-tSS70w9lM89iKTlNwrzlTOkVq2sPhRTCIrSwo1J2W1jd2xVl5bbFDGrhBqbNcdHXVLtUIm6hg3AHAqEt8b0mgUhahYutp_EYvwUlizcvJFikP-xaqnwqWFFPAm6Md3cY5Wc8SPZpXlNkJoxD9Ar2qsnsDhvRLr8-M-afLf9rciw3YXpBytGOGkfLMy30Fph7rIQVzUBzoF3hDi1C9k5Q1sNnc7r2BLLw8LcYlQZUKWxqimMsr9YAePJXxyZTqFvSE4pRsz5NO5pmFPwsOyK39hTFWpQ\u0026h=yTP7jKnxQRxYcawHWn_0mS8tiFhW3UNZmAdfVMrM3jM", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "4" ], - "x-ms-client-request-id": [ "1638dbe4-068f-4554-9c21-cfe4dad2bb17" ], + "x-ms-client-request-id": [ "58f532e5-28f5-4373-8cce-24d5e28bddfe" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualHardDisk" ], "FullCommandName": [ "New-AzStackHCIVMVirtualHardDisk_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -150,36 +150,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5901cfb2-0000-0100-0000-65dd7a6a0000\"" ], + "ETag": [ "\"2200561b-0000-0100-0000-65fca0450000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "864a1b05-79ce-4908-9d82-0a395e1dab85" ], - "x-ms-correlation-request-id": [ "5a90fa9d-f37e-4ae4-b96a-dd00b59c7d0a" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060134Z:5a90fa9d-f37e-4ae4-b96a-dd00b59c7d0a" ], + "x-ms-request-id": [ "0f88d908-e11e-4ff7-b913-ad1f55bc7aca" ], + "x-ms-correlation-request-id": [ "e7a8e319-5cd9-4163-b5a2-14b5c9764de3" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210220Z:e7a8e319-5cd9-4163-b5a2-14b5c9764de3" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: AA15842AC51541BCBCC4250DF9B735A3 Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:01:34Z" ], - "Date": [ "Tue, 27 Feb 2024 06:01:33 GMT" ] + "X-MSEdge-Ref": [ "Ref A: A7607B7FBCE64180B54FEEE7B39B6336 Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:02:20Z" ], + "Date": [ "Thu, 21 Mar 2024 21:02:19 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "512" ], + "Content-Length": [ "583" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:00:00.5856031Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"d276e5db-cb45-4ea2-8060-57d9c5c049e6*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-21T21:00:47.5498625Z\",\"endTime\":\"2024-03-21T21:01:57.3702611Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8+5": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "5" ], - "x-ms-client-request-id": [ "1638dbe4-068f-4554-9c21-cfe4dad2bb17" ], + "x-ms-client-request-id": [ "58f532e5-28f5-4373-8cce-24d5e28bddfe" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualHardDisk" ], "FullCommandName": [ "New-AzStackHCIVMVirtualHardDisk_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -193,83 +193,41 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5901cfb2-0000-0100-0000-65dd7a6a0000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "d1d23dcd-50fb-4480-8f66-5365cd11f561" ], - "x-ms-correlation-request-id": [ "52d8b6a2-7c61-4aae-9768-5f755667c1e5" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060204Z:52d8b6a2-7c61-4aae-9768-5f755667c1e5" ], + "ETag": [ "\"a700006f-0000-0100-0000-65fca05a0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "f8b60c5b-0a75-4869-9683-da33b953c9a4" ], + "x-ms-correlation-request-id": [ "ee1e65dc-88fe-4dba-9822-f9279ab78b93" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210220Z:ee1e65dc-88fe-4dba-9822-f9279ab78b93" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 19E6463EDD2D41B8B9E46F668A21CB54 Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:02:04Z" ], - "Date": [ "Tue, 27 Feb 2024 06:02:04 GMT" ] + "X-MSEdge-Ref": [ "Ref A: D179A6F679C745F89EBF1BCB5F339AC0 Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:02:20Z" ], + "Date": [ "Thu, 21 Mar 2024 21:02:19 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "512" ], + "Content-Length": [ "828" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:00:00.5856031Z\"}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"name\":\"testVhd1127\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T21:00:47.4572322Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-21T21:02:18.4105326Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"}}}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8+6": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446104030536927\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=gyP4yLlqcXJvnMX-w4u4qwMhcl1DJNXmFp4WRbrfHqb1IfsPhxIam6fB7BwnFffwx7Od_yTiecMJcsIUnQq8vROid4OVLvq5vGJwE4eWVmRAJuwZbZbyio1B5_n1ZZyKxNUkhrfA6yp0ybYrpeM_yyMfybIQNdSSKcjy8CcNbsp2e-lPBx698aKbRZa6WWOQqEJdJMfSQlnsoYfZWCveWMWlRKlvYPeeQd9ibjmEiOIZAFDkmbf9Anh7wBhp56ZKv_PBHShc4KFqWl6Xr2a0bEMEnEIsoPIbmfKjk55Wikkc3ZkJoqpCfQwdoCXf27tLqo38XRtJgeBYQbR2AV15oQ\u0026h=8eub2jlf2pGS1yAJlRS2nd4AH4bELbT8bEVzGlsnpZ8", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "6" ], - "x-ms-client-request-id": [ "1638dbe4-068f-4554-9c21-cfe4dad2bb17" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualHardDisk" ], - "FullCommandName": [ "New-AzStackHCIVMVirtualHardDisk_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"590183bf-0000-0100-0000-65dd7ae10000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "a6fb78b1-7041-44e9-b4cd-6971150f387e" ], - "x-ms-correlation-request-id": [ "2e4daad7-4472-4c42-8eb3-9b5be7914314" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060235Z:2e4daad7-4472-4c42-8eb3-9b5be7914314" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 87B0B652C0A84179A8B831CD198A7E18 Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:02:35Z" ], - "Date": [ "Tue, 27 Feb 2024 06:02:35 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "583" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"edabc3b5-2a26-476f-884c-277ed7ff4c43*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:00:00.5856031Z\",\"endTime\":\"2024-02-27T06:02:09.1344197Z\",\"error\":{},\"properties\":null}", - "isContentBase64": false - } - }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Create+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview+7": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "7" ], - "x-ms-client-request-id": [ "1638dbe4-068f-4554-9c21-cfe4dad2bb17" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualHardDisk" ], - "FullCommandName": [ "New-AzStackHCIVMVirtualHardDisk_CreateExpanded" ], + "x-ms-client-request-id": [ "bd068921-6056-4098-b765-61896926818d" ], + "CommandName": [ "Get-AzStackHCIVMVirtualHardDisk" ], + "FullCommandName": [ "Get-AzStackHCIVMVirtualHardDisk_List" ], "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] }, "ContentHeaders": { } @@ -279,38 +237,37 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"ec00de79-0000-0100-0000-65dd7ae20000\"" ], + "x-ms-original-request-ids": [ "3c81ff94-a975-4d8c-b7ec-194b697582b4", "f8b70555-c898-48e9-9bc4-61fe87681017", "8d1d5e0c-d2e5-4f1b-becc-5b0c351359a5", "81b835fc-b537-468f-a92f-499da74c593c", "6c15eac6-f444-40f9-817d-a25a151058a4", "769b1d8f-49eb-4b09-b732-c7737ec1b163", "a95aa749-9bb4-4575-8e21-59aeeda05153", "ebce2fae-966d-4a1e-ad62-4372256f4bfa", "b140ee59-e836-43bc-aa72-66b2a9f40a77", "e45a09e5-332f-48a8-949f-e4ecd3365bd7" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "f472deda-985d-47c5-a095-d7ee908e8a23" ], - "x-ms-correlation-request-id": [ "9f3b4bb3-fca4-4208-9963-ae8ccbfcf58c" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060235Z:9f3b4bb3-fca4-4208-9963-ae8ccbfcf58c" ], + "x-ms-request-id": [ "c831402b-d4c8-4287-ad91-81f38ad864fe" ], + "x-ms-correlation-request-id": [ "c831402b-d4c8-4287-ad91-81f38ad864fe" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210221Z:c831402b-d4c8-4287-ad91-81f38ad864fe" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 862AA14AB06B45E087E3F89107F6E166 Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:02:35Z" ], - "Date": [ "Tue, 27 Feb 2024 06:02:35 GMT" ] + "X-MSEdge-Ref": [ "Ref A: F0542891DB7D48B0B4FE6E23ACC455BB Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:02:20Z" ], + "Date": [ "Thu, 21 Mar 2024 21:02:21 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1007" ], + "Content-Length": [ "8237" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"name\":\"testVhd1127\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-22T21:15:30.603318Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:02:09.9531936Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"diskSizeGB\":2,\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\"}}", + "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualharddisks/test\",\"name\":\"test\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T18:29:16.7656263Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T21:03:56.0221424Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\",\"errorMessage\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\"},\"diskFileFormat\":\"vhdx\",\"diskSizeGB\":2,\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0108-01\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualharddisks/test2\",\"name\":\"test2\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T21:17:00.381389Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T23:44:08.4839132Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\",\"errorMessage\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\"},\"diskFileFormat\":\"vhdx\",\"diskSizeGB\":2}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualharddisks/test3\",\"name\":\"test3\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T03:47:18.8401813Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T21:02:50.1030317Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\",\"errorMessage\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\"},\"diskFileFormat\":\"vhdx\",\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0118-01\",\"diskSizeGB\":2}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/test0205\",\"name\":\"test0205\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-05T20:04:51.3430576Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T21:04:03.1580298Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"diskSizeGB\":2,\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"name\":\"testVhd1127\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T21:00:47.4572322Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-21T21:02:18.4105326Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/vhd-pathuang-0318-01\",\"name\":\"vhd-pathuang-0318-01\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-19T14:46:02.2836788Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T18:52:12.0401305Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"diskSizeGB\":10}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/vhd-pathuang-0319-01\",\"name\":\"vhd-pathuang-0319-01\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-19T18:56:23.652791Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T21:14:44.9469863Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"diskSizeGB\":10}}]}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks?api-version=2023-09-01-preview+1": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "8" ], - "x-ms-client-request-id": [ "bb90db4e-addf-48ca-9573-e52f4ba0562d" ], + "x-ms-unique-id": [ "7" ], + "x-ms-client-request-id": [ "50f6c71a-f226-4515-980c-838480e703c9" ], "CommandName": [ "Get-AzStackHCIVMVirtualHardDisk" ], - "FullCommandName": [ "Get-AzStackHCIVMVirtualHardDisk_List" ], + "FullCommandName": [ "Get-AzStackHCIVMVirtualHardDisk_Get" ], "ParameterSetName": [ "__AllParameterSets" ], "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], "Authorization": [ "[Filtered]" ] @@ -323,37 +280,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-original-request-ids": [ "da2a1064-18ee-4733-bbe7-3d6fa2374d9a", "46b2fa95-31ab-4c70-a76b-d9ebb3879da8", "ad96bed8-1746-463a-9161-7755f7526cb4", "fdc6f7f3-2ce0-4592-b4a2-627e7f80ddf1", "ac31ecc6-0efa-4e84-840c-c252543971a3", "b44e1206-301b-415b-8734-0f6e2f019973", "2fa88c48-cfd7-45b0-8051-69ee84f84fee", "8fef9371-b32d-400f-b813-23fa46208fbb", "2cb281d1-caf9-4136-a10c-c7f6d4000471", "62fb3aac-da57-43f3-9285-4afef4a65b09" ], + "ETag": [ "\"a700006f-0000-0100-0000-65fca05a0000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-request-id": [ "7380d675-67d3-45e4-b367-96c1e0ffe213" ], - "x-ms-correlation-request-id": [ "7380d675-67d3-45e4-b367-96c1e0ffe213" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060236Z:7380d675-67d3-45e4-b367-96c1e0ffe213" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "18f99b7b-3873-4fdd-a9d4-cc76e3d7681a" ], + "x-ms-correlation-request-id": [ "d3a4dda6-f2e2-4ded-94fc-fc72bfcac370" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210222Z:d3a4dda6-f2e2-4ded-94fc-fc72bfcac370" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: CF26345341C943E5964A2A838750A521 Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:02:36Z" ], - "Date": [ "Tue, 27 Feb 2024 06:02:36 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 2876B449715F46D7AAE9DBD13CD6AC10 Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:02:22Z" ], + "Date": [ "Thu, 21 Mar 2024 21:02:21 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "6681" ], + "Content-Length": [ "828" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualharddisks/test\",\"name\":\"test\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T18:29:16.7656263Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-13T16:06:10.5870555Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\",\"errorMessage\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\"},\"diskFileFormat\":\"vhdx\",\"diskSizeGB\":2,\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0108-01\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualharddisks/test2\",\"name\":\"test2\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T21:17:00.381389Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T23:44:08.4839132Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\",\"errorMessage\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\"},\"diskFileFormat\":\"vhdx\",\"diskSizeGB\":2}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualharddisks/test3\",\"name\":\"test3\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T03:47:18.8401813Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-13T16:06:09.4786131Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\",\"errorMessage\":\"Message:\\\"rpc error: code = Unavailable desc = connection error: desc = \\\\\\\"transport: Error while dialing: dial tcp [fe80::c76c:4583:6974:bd64%vSMB(myintent#SLOT 1 2)]:45000: connectex: No connection could be made because the target machine actively refused it.\\\\\\\"\\\" : MOC resource has error\"},\"diskFileFormat\":\"vhdx\",\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0118-01\",\"diskSizeGB\":2}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/test0205\",\"name\":\"test0205\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-05T20:04:51.3430576Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-13T16:06:09.4583517Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"diskSizeGB\":2,\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"name\":\"testVhd1127\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-22T21:15:30.603318Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:02:09.9531936Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"diskSizeGB\":2,\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\"}}]}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"name\":\"testVhd1127\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T21:00:47.4572322Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-21T21:02:18.4105326Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"}}}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview+1": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01+1": { "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview", + "Method": "DELETE", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "9" ], - "x-ms-client-request-id": [ "48c5c926-e652-48b8-a995-011857477dce" ], - "CommandName": [ "Get-AzStackHCIVMVirtualHardDisk" ], - "FullCommandName": [ "Get-AzStackHCIVMVirtualHardDisk_Get" ], + "x-ms-unique-id": [ "8" ], + "x-ms-client-request-id": [ "c0f00611-ef12-4bf6-8465-5af116f76594" ], + "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualHardDisk" ], + "FullCommandName": [ "Remove-AzStackHCIVMVirtualHardDisk_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], "Authorization": [ "[Filtered]" ] @@ -362,45 +320,49 @@ } }, "Response": { - "StatusCode": 200, + "StatusCode": 202, "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"ec00de79-0000-0100-0000-65dd7ae20000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "ETag": [ "\"a7003373-0000-0100-0000-65fca05f0000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517437333619\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=uqbuvGY_Iwd4TlnLK7Vo_lI2ylAOIeSO3SqvOs1JPukWTLigXQG8sNT7KE2Rf8vYavzhJLJ33zAUVDW_0uZbBGH3wVkydan1HBt1y-60mdNjMK3T-1iateeQPlj6o2xWnHylmpbbRnYrzFAXbj-Tbfw4ZhHQYwQs-QosfP6eqADfQyWVVG13u69MUGLAhWNVVFVmYBAQyRisuWXlYaFyZecPcS6o9EzWIO07mYhmLR89pG6PH4q4NhIErd9zuTlaQXM_CifVTcuI3439csxooYTSm0kcRFJqm_8hOPJmf0SJT9YCWBIsTgtxLWqngCTIdgfRgHEQ0RdinZuZY_B7Xw\u0026h=4f1oEzDNZ8BanBaGKiTmPRBJlzfMZ7INyAXq2Jk2U2Q" ], + "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "f7269b92-702b-4171-b499-02da625e73ac" ], - "x-ms-correlation-request-id": [ "f05f1d54-a801-47c1-8666-b50d3412e095" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060237Z:f05f1d54-a801-47c1-8666-b50d3412e095" ], + "mise-correlation-id": [ "082c1bf3-908b-4ebb-a32f-0f3d929077da" ], + "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], + "x-azure-ref": [ "20240321T210223Z-4x0kptusyt299c5nprz3wx5p1g00000001w000000000zqxn" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517437177421\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=sx8O2N--yoQcEevZp6xYz2xAglxeUBi_WW_VrCGhxHlobTuJKIK1p0yHFrJCL_zBESDpfXQd7qhc5xRJTYN7Hub3RpOG1QDAISxleSg_Uxe2OIo4wav6bcfDNPZiNl_KxTq3Osd5W77ZERxyLVCTZKSsSsS-zRUMNsbi6tqtWBkOzDVolmDtTSjF4taaZMukcpuSYW-WmeBUeY6lxzzqtLJMskn_jdo53f5dBk3KTs2PnKdC-PyFDaoauKtf9SexL-GIs6cECgHMHSaFXP1i0YwddGcp-k-cx9DM2soRL4C1XNGrm82CSA7wg-qNI4g43BGQveVMfMdTvVYS6P5gyw\u0026h=xcUS6uOZMReNRuQSafLB1Fl7raXhLxqY4e3kHZRNxfA" ], + "x-ms-correlation-request-id": [ "70a51776-99a5-4cb6-835e-7f45bc6cb2dd" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210223Z:70a51776-99a5-4cb6-835e-7f45bc6cb2dd" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 85712B41974841FBA416E813DC9C548F Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:02:36Z" ], - "Date": [ "Tue, 27 Feb 2024 06:02:37 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 667622538EAD4BF6874B1F2C5BF25623 Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:02:22Z" ], + "Date": [ "Thu, 21 Mar 2024 21:02:23 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1007" ], + "Content-Length": [ "4" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"name\":\"testVhd1127\",\"type\":\"microsoft.azurestackhci/virtualharddisks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-22T21:15:30.603318Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:02:09.9531936Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"diskSizeGB\":2,\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\"}}", + "Content": "bnVsbA==", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview+1": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517437177421\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=sx8O2N--yoQcEevZp6xYz2xAglxeUBi_WW_VrCGhxHlobTuJKIK1p0yHFrJCL_zBESDpfXQd7qhc5xRJTYN7Hub3RpOG1QDAISxleSg_Uxe2OIo4wav6bcfDNPZiNl_KxTq3Osd5W77ZERxyLVCTZKSsSsS-zRUMNsbi6tqtWBkOzDVolmDtTSjF4taaZMukcpuSYW-WmeBUeY6lxzzqtLJMskn_jdo53f5dBk3KTs2PnKdC-PyFDaoauKtf9SexL-GIs6cECgHMHSaFXP1i0YwddGcp-k-cx9DM2soRL4C1XNGrm82CSA7wg-qNI4g43BGQveVMfMdTvVYS6P5gyw\u0026h=xcUS6uOZMReNRuQSafLB1Fl7raXhLxqY4e3kHZRNxfA+2": { "Request": { - "Method": "DELETE", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview", + "Method": "GET", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517437177421\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=sx8O2N--yoQcEevZp6xYz2xAglxeUBi_WW_VrCGhxHlobTuJKIK1p0yHFrJCL_zBESDpfXQd7qhc5xRJTYN7Hub3RpOG1QDAISxleSg_Uxe2OIo4wav6bcfDNPZiNl_KxTq3Osd5W77ZERxyLVCTZKSsSsS-zRUMNsbi6tqtWBkOzDVolmDtTSjF4taaZMukcpuSYW-WmeBUeY6lxzzqtLJMskn_jdo53f5dBk3KTs2PnKdC-PyFDaoauKtf9SexL-GIs6cECgHMHSaFXP1i0YwddGcp-k-cx9DM2soRL4C1XNGrm82CSA7wg-qNI4g43BGQveVMfMdTvVYS6P5gyw\u0026h=xcUS6uOZMReNRuQSafLB1Fl7raXhLxqY4e3kHZRNxfA", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "10" ], - "x-ms-client-request-id": [ "b3868176-6681-4250-a7b6-e3ff6d1b53ca" ], + "Authorization": [ "[Filtered]" ], + "x-ms-unique-id": [ "9" ], + "x-ms-client-request-id": [ "c0f00611-ef12-4bf6-8465-5af116f76594" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualHardDisk" ], "FullCommandName": [ "Remove-AzStackHCIVMVirtualHardDisk_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] }, "ContentHeaders": { } @@ -410,41 +372,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"ec00687d-0000-0100-0000-65dd7afe0000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446105584001839\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=3s9DZ4gbU1TXf6nvKRiURH3vfDPhNn3zXefYgwVt0IRsgMQWjcATlsqxeC-ZskGzcdHtLj2fMPDiGYoEd24eidlj49B5NUqTjF4D6IzDJrL1zi-UMpVZgUs6YDmdMLGi_xRwKeJJ85kC385HZxr_KBTrj0XoFx_CmOFaCfR4osQAfrE56Cmmh7mdCeouY5N6wdk54iJx6wLhoy2aA3gwJf32WSIZ4Gr7ajwgQ0qY7SuwJyYp_EGQ98SHRUFrmvE2vIeNPQ-377fmRhvw02iNzopPf-FS0rzvvYmdgd8rytNaQ7jxEXXQadOHPTVHR8B6uySZKn9Tma5xkT2nHvb9lw\u0026h=xZPsRF12pwgLsktudXEO36SiSTkGhpgDskG1PRhM9k8" ], - "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], - "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "6341c873-74f4-409c-90fa-3bf8a711ef0d" ], - "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0/XrdZQAAAABgmODQQ3W/RKB+oPBIkMd4TU5aMjIxMDYwNjEzMDQ3ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446105583846229\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=1kfqTHW8P0WEUFNwnQIeJFokr64uxFwhZqUR1CPoFvjiIatIU6WBJ6jJW27M8BShovi9NOqOMrkaHVC1EfOmBuFR3vGuT0I6_Iz-GQXUIFFXm7ETOnaegHm3s7R4yO8Ea0HFbf0PlOFaBhffpgZrGTEyCQdvcX9rnCGIzLdYkedVIAKPrlFZ45qIbf4uy01RTQQ_5n5V6lAFF8xR0boK52ghgfUtKMpYuno2VZ8Klc8xKqFkwc8fCnF-rfu5TSQU7iF6L3VH-degZwEjZ1wDVpRzSku8mkxm3NSj9wxl9uqZ66sP7Njs1CdDCAGmVR9TrSa97q1eONmUYvnBstpsHQ\u0026h=O9vAm6b21QB6sqw2MEff9qDtFxKX9oop-CyhO9pt_VY" ], - "x-ms-correlation-request-id": [ "3abe6e21-8d05-4cf7-9638-d87e3d54b578" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060238Z:3abe6e21-8d05-4cf7-9638-d87e3d54b578" ], + "ETag": [ "\"22006e2c-0000-0100-0000-65fca0640000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517740317456\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fy6fTJgRiLFE9rJmvOcHWq7xqZwkufE4wT5d8-vDrP47Md-6Z6X63iK-4hCwZ1f36JKIHuUy4L3QfPuVOGgsc_w-ieCarLuQ3-jZpOZYsQsAZW14nkkyjeDmoFhB9G5XaeZsngaaxOmUSCi5fa5yE3SZVv1x5JG6v6NbCD0_rQkPyM7AKZSGzj5pT9yz4gasXNSnF-okpC8FRiz1A2244t0sinIPiNN4JDEy8iAPpIflCuE51zx2jFGgloYgltj0jsmlF6cdJKnVOSJphxYcBaiTd8CbQGhJ-1dHAcnAz557kXU9XJm3PlLXwQgjcpLodclzFxeBIrP4sX-hR15mPQ\u0026h=cQnTA3KhnT3bzOVo6VKEMPhHuzlx60msm-As1LV7z1g" ], + "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517740317456\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fy6fTJgRiLFE9rJmvOcHWq7xqZwkufE4wT5d8-vDrP47Md-6Z6X63iK-4hCwZ1f36JKIHuUy4L3QfPuVOGgsc_w-ieCarLuQ3-jZpOZYsQsAZW14nkkyjeDmoFhB9G5XaeZsngaaxOmUSCi5fa5yE3SZVv1x5JG6v6NbCD0_rQkPyM7AKZSGzj5pT9yz4gasXNSnF-okpC8FRiz1A2244t0sinIPiNN4JDEy8iAPpIflCuE51zx2jFGgloYgltj0jsmlF6cdJKnVOSJphxYcBaiTd8CbQGhJ-1dHAcnAz557kXU9XJm3PlLXwQgjcpLodclzFxeBIrP4sX-hR15mPQ\u0026h=cQnTA3KhnT3bzOVo6VKEMPhHuzlx60msm-As1LV7z1g" ], + "x-ms-request-id": [ "e552b9b7-f108-4557-b26a-16b81e81c0c4" ], + "x-ms-correlation-request-id": [ "904cfb3c-7c0f-489e-a931-0322263a9340" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210254Z:904cfb3c-7c0f-489e-a931-0322263a9340" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 70C539BCFA8C4796B02EEBC89461E9C7 Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:02:37Z" ], - "Date": [ "Tue, 27 Feb 2024 06:02:38 GMT" ] + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 7C36157CB10E42EF9DC6A2DAA2438D95 Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:02:53Z" ], + "Date": [ "Thu, 21 Mar 2024 21:02:53 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "4" ], + "Content-Length": [ "512" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "bnVsbA==", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Deleting\",\"startTime\":\"2024-03-21T21:02:22.9771772Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446105583846229\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=1kfqTHW8P0WEUFNwnQIeJFokr64uxFwhZqUR1CPoFvjiIatIU6WBJ6jJW27M8BShovi9NOqOMrkaHVC1EfOmBuFR3vGuT0I6_Iz-GQXUIFFXm7ETOnaegHm3s7R4yO8Ea0HFbf0PlOFaBhffpgZrGTEyCQdvcX9rnCGIzLdYkedVIAKPrlFZ45qIbf4uy01RTQQ_5n5V6lAFF8xR0boK52ghgfUtKMpYuno2VZ8Klc8xKqFkwc8fCnF-rfu5TSQU7iF6L3VH-degZwEjZ1wDVpRzSku8mkxm3NSj9wxl9uqZ66sP7Njs1CdDCAGmVR9TrSa97q1eONmUYvnBstpsHQ\u0026h=O9vAm6b21QB6sqw2MEff9qDtFxKX9oop-CyhO9pt_VY+2": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517740317456\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fy6fTJgRiLFE9rJmvOcHWq7xqZwkufE4wT5d8-vDrP47Md-6Z6X63iK-4hCwZ1f36JKIHuUy4L3QfPuVOGgsc_w-ieCarLuQ3-jZpOZYsQsAZW14nkkyjeDmoFhB9G5XaeZsngaaxOmUSCi5fa5yE3SZVv1x5JG6v6NbCD0_rQkPyM7AKZSGzj5pT9yz4gasXNSnF-okpC8FRiz1A2244t0sinIPiNN4JDEy8iAPpIflCuE51zx2jFGgloYgltj0jsmlF6cdJKnVOSJphxYcBaiTd8CbQGhJ-1dHAcnAz557kXU9XJm3PlLXwQgjcpLodclzFxeBIrP4sX-hR15mPQ\u0026h=cQnTA3KhnT3bzOVo6VKEMPhHuzlx60msm-As1LV7z1g+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446105583846229\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=1kfqTHW8P0WEUFNwnQIeJFokr64uxFwhZqUR1CPoFvjiIatIU6WBJ6jJW27M8BShovi9NOqOMrkaHVC1EfOmBuFR3vGuT0I6_Iz-GQXUIFFXm7ETOnaegHm3s7R4yO8Ea0HFbf0PlOFaBhffpgZrGTEyCQdvcX9rnCGIzLdYkedVIAKPrlFZ45qIbf4uy01RTQQ_5n5V6lAFF8xR0boK52ghgfUtKMpYuno2VZ8Klc8xKqFkwc8fCnF-rfu5TSQU7iF6L3VH-degZwEjZ1wDVpRzSku8mkxm3NSj9wxl9uqZ66sP7Njs1CdDCAGmVR9TrSa97q1eONmUYvnBstpsHQ\u0026h=O9vAm6b21QB6sqw2MEff9qDtFxKX9oop-CyhO9pt_VY", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517740317456\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fy6fTJgRiLFE9rJmvOcHWq7xqZwkufE4wT5d8-vDrP47Md-6Z6X63iK-4hCwZ1f36JKIHuUy4L3QfPuVOGgsc_w-ieCarLuQ3-jZpOZYsQsAZW14nkkyjeDmoFhB9G5XaeZsngaaxOmUSCi5fa5yE3SZVv1x5JG6v6NbCD0_rQkPyM7AKZSGzj5pT9yz4gasXNSnF-okpC8FRiz1A2244t0sinIPiNN4JDEy8iAPpIflCuE51zx2jFGgloYgltj0jsmlF6cdJKnVOSJphxYcBaiTd8CbQGhJ-1dHAcnAz557kXU9XJm3PlLXwQgjcpLodclzFxeBIrP4sX-hR15mPQ\u0026h=cQnTA3KhnT3bzOVo6VKEMPhHuzlx60msm-As1LV7z1g", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "11" ], - "x-ms-client-request-id": [ "b3868176-6681-4250-a7b6-e3ff6d1b53ca" ], + "x-ms-unique-id": [ "10" ], + "x-ms-client-request-id": [ "c0f00611-ef12-4bf6-8465-5af116f76594" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualHardDisk" ], "FullCommandName": [ "Remove-AzStackHCIVMVirtualHardDisk_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -458,36 +417,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5901cfc5-0000-0100-0000-65dd7b190000\"" ], + "ETag": [ "\"2200733a-0000-0100-0000-65fca0820000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "07898751-cad6-46ca-a936-8a4b01c00cce" ], - "x-ms-correlation-request-id": [ "05a6ddb4-93b3-4c05-b718-9968454fc438" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060308Z:05a6ddb4-93b3-4c05-b718-9968454fc438" ], + "x-ms-request-id": [ "16e8d3fd-ffdd-4d1d-a180-ad811ffb1994" ], + "x-ms-correlation-request-id": [ "eedf77d8-e7c3-414b-a138-d90d9efd6b15" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210324Z:eedf77d8-e7c3-414b-a138-d90d9efd6b15" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 1BC1DDBA848A4E659C519162312F95EB Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:03:08Z" ], - "Date": [ "Tue, 27 Feb 2024 06:03:08 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 42C4B2EFC85D460481F7A1C60A9B978A Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:03:24Z" ], + "Date": [ "Thu, 21 Mar 2024 21:03:23 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "569" ], + "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:02:37.66425Z\",\"endTime\":\"2024-02-27T06:03:05.178131Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-21T21:02:22.9771772Z\",\"endTime\":\"2024-03-21T21:02:58.4534033Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446105583846229\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=1kfqTHW8P0WEUFNwnQIeJFokr64uxFwhZqUR1CPoFvjiIatIU6WBJ6jJW27M8BShovi9NOqOMrkaHVC1EfOmBuFR3vGuT0I6_Iz-GQXUIFFXm7ETOnaegHm3s7R4yO8Ea0HFbf0PlOFaBhffpgZrGTEyCQdvcX9rnCGIzLdYkedVIAKPrlFZ45qIbf4uy01RTQQ_5n5V6lAFF8xR0boK52ghgfUtKMpYuno2VZ8Klc8xKqFkwc8fCnF-rfu5TSQU7iF6L3VH-degZwEjZ1wDVpRzSku8mkxm3NSj9wxl9uqZ66sP7Njs1CdDCAGmVR9TrSa97q1eONmUYvnBstpsHQ\u0026h=O9vAm6b21QB6sqw2MEff9qDtFxKX9oop-CyhO9pt_VY+3": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517437177421\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=sx8O2N--yoQcEevZp6xYz2xAglxeUBi_WW_VrCGhxHlobTuJKIK1p0yHFrJCL_zBESDpfXQd7qhc5xRJTYN7Hub3RpOG1QDAISxleSg_Uxe2OIo4wav6bcfDNPZiNl_KxTq3Osd5W77ZERxyLVCTZKSsSsS-zRUMNsbi6tqtWBkOzDVolmDtTSjF4taaZMukcpuSYW-WmeBUeY6lxzzqtLJMskn_jdo53f5dBk3KTs2PnKdC-PyFDaoauKtf9SexL-GIs6cECgHMHSaFXP1i0YwddGcp-k-cx9DM2soRL4C1XNGrm82CSA7wg-qNI4g43BGQveVMfMdTvVYS6P5gyw\u0026h=xcUS6uOZMReNRuQSafLB1Fl7raXhLxqY4e3kHZRNxfA+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2023-09-01-preview\u0026t=638446105583846229\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=1kfqTHW8P0WEUFNwnQIeJFokr64uxFwhZqUR1CPoFvjiIatIU6WBJ6jJW27M8BShovi9NOqOMrkaHVC1EfOmBuFR3vGuT0I6_Iz-GQXUIFFXm7ETOnaegHm3s7R4yO8Ea0HFbf0PlOFaBhffpgZrGTEyCQdvcX9rnCGIzLdYkedVIAKPrlFZ45qIbf4uy01RTQQ_5n5V6lAFF8xR0boK52ghgfUtKMpYuno2VZ8Klc8xKqFkwc8fCnF-rfu5TSQU7iF6L3VH-degZwEjZ1wDVpRzSku8mkxm3NSj9wxl9uqZ66sP7Njs1CdDCAGmVR9TrSa97q1eONmUYvnBstpsHQ\u0026h=O9vAm6b21QB6sqw2MEff9qDtFxKX9oop-CyhO9pt_VY", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28?api-version=2024-01-01\u0026t=638466517437177421\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=sx8O2N--yoQcEevZp6xYz2xAglxeUBi_WW_VrCGhxHlobTuJKIK1p0yHFrJCL_zBESDpfXQd7qhc5xRJTYN7Hub3RpOG1QDAISxleSg_Uxe2OIo4wav6bcfDNPZiNl_KxTq3Osd5W77ZERxyLVCTZKSsSsS-zRUMNsbi6tqtWBkOzDVolmDtTSjF4taaZMukcpuSYW-WmeBUeY6lxzzqtLJMskn_jdo53f5dBk3KTs2PnKdC-PyFDaoauKtf9SexL-GIs6cECgHMHSaFXP1i0YwddGcp-k-cx9DM2soRL4C1XNGrm82CSA7wg-qNI4g43BGQveVMfMdTvVYS6P5gyw\u0026h=xcUS6uOZMReNRuQSafLB1Fl7raXhLxqY4e3kHZRNxfA", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "12" ], - "x-ms-client-request-id": [ "b3868176-6681-4250-a7b6-e3ff6d1b53ca" ], + "x-ms-unique-id": [ "11" ], + "x-ms-client-request-id": [ "c0f00611-ef12-4bf6-8465-5af116f76594" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualHardDisk" ], "FullCommandName": [ "Remove-AzStackHCIVMVirtualHardDisk_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -501,35 +460,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5901cfc5-0000-0100-0000-65dd7b190000\"" ], + "ETag": [ "\"2200733a-0000-0100-0000-65fca0820000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "daf2e966-8968-420e-b5b8-8c3cdb16690b" ], - "x-ms-correlation-request-id": [ "00b503fd-5509-4992-9af1-bf59e9cd547d" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060308Z:00b503fd-5509-4992-9af1-bf59e9cd547d" ], + "x-ms-request-id": [ "43facfc6-2a4d-4949-8f80-220f2ec2bfed" ], + "x-ms-correlation-request-id": [ "a8e2386d-f84f-4d1a-b0f3-b6c3b62dd99e" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210324Z:a8e2386d-f84f-4d1a-b0f3-b6c3b62dd99e" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 95794FB468654B2F950B6C1165FF64DA Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:03:08Z" ], - "Date": [ "Tue, 27 Feb 2024 06:03:08 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 4D4BB50ED24240228A45B7F801CEF795 Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:03:24Z" ], + "Date": [ "Thu, 21 Mar 2024 21:03:23 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "569" ], + "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"3b19f0c2-1654-42a1-b828-acaa726309c1*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:02:37.66425Z\",\"endTime\":\"2024-02-27T06:03:05.178131Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"name\":\"59bb68c5-c202-4422-953f-7439d733ca3f*74843CFEC77C4B79F1F135C3C8B44BB3ADD01A729D529FBC92BDA13C7BE07D28\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-21T21:02:22.9771772Z\",\"endTime\":\"2024-03-21T21:02:58.4534033Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview+4": { + "AzStackHCIVMVirtualHardDisks+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "13" ], - "x-ms-client-request-id": [ "f7d3d0df-b323-4b78-b275-11fedc73a4da" ], + "x-ms-unique-id": [ "12" ], + "x-ms-client-request-id": [ "7f201e5c-5d02-466b-afd7-ecc83316a894" ], "CommandName": [ "Get-AzStackHCIVMVirtualHardDisk" ], "FullCommandName": [ "Get-AzStackHCIVMVirtualHardDisk_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -544,24 +503,22 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "212bb2d5-9966-4762-b6fe-cbfcd86f5194" ], - "x-ms-correlation-request-id": [ "eb241609-f450-4e9f-87df-a6eec5977bc0" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T060309Z:eb241609-f450-4e9f-87df-a6eec5977bc0" ], + "x-ms-request-id": [ "f1c88eb5-e64a-40b8-8aae-3ffbe063d508" ], + "x-ms-correlation-request-id": [ "f1c88eb5-e64a-40b8-8aae-3ffbe063d508" ], + "x-ms-routing-request-id": [ "WESTUS2:20240321T210324Z:f1c88eb5-e64a-40b8-8aae-3ffbe063d508" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0A3E582CF868408C9DDFD2109FABF51D Ref B: CO6AA3150220051 Ref C: 2024-02-27T06:03:09Z" ], - "Date": [ "Tue, 27 Feb 2024 06:03:09 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 7650698CC9DE4688AEDD1C7057F320C8 Ref B: CO6AA3150218039 Ref C: 2024-03-21T21:03:24Z" ], + "Date": [ "Thu, 21 Mar 2024 21:03:24 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "137" ], - "Content-Type": [ "application/json" ], + "Content-Length": [ "236" ], + "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The resource \u0027Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\u0027 could not be found.\"}}", + "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The Resource \u0027Microsoft.AzureStackHCI/virtualHardDisks/testVhd1127\u0027 under resource group \u0027mkclus104-rg\u0027 was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"}}", "isContentBase64": false } } From 6033fc3fafac8e9247359cd3a68804d311945a60 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Thu, 21 Mar 2024 22:07:28 -0700 Subject: [PATCH 16/21] adding networking recoridng --- .../AzStackHCIVMLogicalNetwork.Recording.json | 352 +++++++----------- 1 file changed, 132 insertions(+), 220 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMLogicalNetwork.Recording.json b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMLogicalNetwork.Recording.json index 985dceae4b67..4aaffca1a4bc 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMLogicalNetwork.Recording.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMLogicalNetwork.Recording.json @@ -1,8 +1,8 @@ { - "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview+1": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01+1": { "Request": { "Method": "PUT", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01", "Content": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"subnets\": [\r\n {\r\n \"properties\": {\r\n \"ipAllocationMethod\": \"Dynamic\"\r\n }\r\n }\r\n ],\r\n \"vmSwitchName\": \"testswitch\"\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", "isContentBase64": false, "Headers": { @@ -17,40 +17,40 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"8400a9c1-0000-0100-0000-65dd7d740000\"" ], + "ETag": [ "\"010007c2-0000-0100-0000-65fd0fea0000\"" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "17559721-cb09-44dc-a9d9-a0caefa39511" ], - "x-ms-request-id": [ "5ec8dcf2-d65f-4ece-b992-16188461e44b" ], - "x-ms-correlation-request-id": [ "79654931-d259-4adc-bbe7-ed8bd4d7eab8" ], + "mise-correlation-id": [ "83eba332-8964-4f0f-abbe-5bea3f640bb3" ], + "x-ms-request-id": [ "3cf3dda2-71c6-482f-8f51-7d360146fcfe" ], + "x-ms-correlation-request-id": [ "35053881-2aba-4a64-baa3-2194dec88194" ], + "x-azure-ref": [ "20240322T045817Z-bpsd72s5g507tcscw9xkg8nekc00000002gg00000000r585" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0cn3dZQAAAABGDs9Kb6TxSKm8Xqm0nweDTU5aMjIxMDYwNjEyMDM3ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061309Z:79654931-d259-4adc-bbe7-ed8bd4d7eab8" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466802989532269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LO3Lhqr9JZpCEYqDRDlxlhfyiEK7Au8LR99XP-SBICX05K6p6WAetqk6r_aIqBVdlrAtqcUCJ5dA5XJXEJiKabSv1u3b1y_sHS2bFjFgdWLtCeq1fTAWsh8wUESS7bWUbpW_AemZR_sTznGkwq0CWJpwJo-6EZUfQnZyyoj5FHVMfSN90Oi8JDEXLEUA0gGWAHjENd8wYWqamj4XdJqrpD-dmgO1Pdo_MvTXnq5WO84cOtCt_tJUlVv21DegahtjNTfIWPbg5vrJ2fBQnQePtPB0EXZa3MepYt1TXzormzjqYrCDnz2vy-vtc7kraObjI6qYtr0F-d_HYJrT1DPmzQ\u0026h=RnFzm3TzZBxq_d7GSYpYW_ygKbuhXwWnmAI7WV-dRU4" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045818Z:35053881-2aba-4a64-baa3-2194dec88194" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 4075FE01D23B47A9A5E821BE815542D2 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:13:06Z" ], - "Date": [ "Tue, 27 Feb 2024 06:13:08 GMT" ] + "X-MSEdge-Ref": [ "Ref A: FFE0648431EA4D8588D94E654D84A584 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:17Z" ], + "Date": [ "Fri, 22 Mar 2024 04:58:18 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "870" ], + "Content-Length": [ "868" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"name\":\"testLnetPowershell0226\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:13:06.7924954Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:13:06.7924954Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"subnets\":[{\"properties\":{\"ipAllocationMethod\":\"Dynamic\"}}],\"vmSwitchName\":\"testswitch\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"name\":\"testLnetPowershell0226\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:58:17.703217Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:58:17.703217Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"subnets\":[{\"properties\":{\"ipAllocationMethod\":\"Dynamic\"}}],\"vmSwitchName\":\"testswitch\"}}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME+2": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466802989532269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LO3Lhqr9JZpCEYqDRDlxlhfyiEK7Au8LR99XP-SBICX05K6p6WAetqk6r_aIqBVdlrAtqcUCJ5dA5XJXEJiKabSv1u3b1y_sHS2bFjFgdWLtCeq1fTAWsh8wUESS7bWUbpW_AemZR_sTznGkwq0CWJpwJo-6EZUfQnZyyoj5FHVMfSN90Oi8JDEXLEUA0gGWAHjENd8wYWqamj4XdJqrpD-dmgO1Pdo_MvTXnq5WO84cOtCt_tJUlVv21DegahtjNTfIWPbg5vrJ2fBQnQePtPB0EXZa3MepYt1TXzormzjqYrCDnz2vy-vtc7kraObjI6qYtr0F-d_HYJrT1DPmzQ\u0026h=RnFzm3TzZBxq_d7GSYpYW_ygKbuhXwWnmAI7WV-dRU4+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466802989532269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LO3Lhqr9JZpCEYqDRDlxlhfyiEK7Au8LR99XP-SBICX05K6p6WAetqk6r_aIqBVdlrAtqcUCJ5dA5XJXEJiKabSv1u3b1y_sHS2bFjFgdWLtCeq1fTAWsh8wUESS7bWUbpW_AemZR_sTznGkwq0CWJpwJo-6EZUfQnZyyoj5FHVMfSN90Oi8JDEXLEUA0gGWAHjENd8wYWqamj4XdJqrpD-dmgO1Pdo_MvTXnq5WO84cOtCt_tJUlVv21DegahtjNTfIWPbg5vrJ2fBQnQePtPB0EXZa3MepYt1TXzormzjqYrCDnz2vy-vtc7kraObjI6qYtr0F-d_HYJrT1DPmzQ\u0026h=RnFzm3TzZBxq_d7GSYpYW_ygKbuhXwWnmAI7WV-dRU4", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "2" ], - "x-ms-client-request-id": [ "a319a07e-3cce-42a4-9831-18ac02eb8020" ], + "x-ms-unique-id": [ "19" ], + "x-ms-client-request-id": [ "31784ea9-9953-4672-97f8-f0702a5c067b" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "New-AzStackHCIVMLogicalNetwork_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -64,36 +64,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01850a-0000-0100-0000-65dd7d7e0000\"" ], + "ETag": [ "\"65005a9e-0000-0100-0000-65fd0fef0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "7d56a812-7d75-4649-ad06-b29595e85fd3" ], - "x-ms-correlation-request-id": [ "c76e7aba-3673-41b5-921d-4ce60d4d78de" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061339Z:c76e7aba-3673-41b5-921d-4ce60d4d78de" ], + "x-ms-request-id": [ "a9c214e3-3021-485c-a60e-9002a30c0733" ], + "x-ms-correlation-request-id": [ "223833c3-3bfa-4b1d-984b-f9a3ae10cd66" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045849Z:223833c3-3bfa-4b1d-984b-f9a3ae10cd66" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 54D12781503C41B39CE3D8D91B652DA5 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:13:39Z" ], - "Date": [ "Tue, 27 Feb 2024 06:13:38 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C82B3CC0467A4F9FAAEA189F542205ED Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:49Z" ], + "Date": [ "Fri, 22 Mar 2024 04:58:49 GMT" ] }, "ContentHeaders": { "Content-Length": [ "522" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:13:06.8693909Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T04:58:17.7657921Z\"}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME+3": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466802989532269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LO3Lhqr9JZpCEYqDRDlxlhfyiEK7Au8LR99XP-SBICX05K6p6WAetqk6r_aIqBVdlrAtqcUCJ5dA5XJXEJiKabSv1u3b1y_sHS2bFjFgdWLtCeq1fTAWsh8wUESS7bWUbpW_AemZR_sTznGkwq0CWJpwJo-6EZUfQnZyyoj5FHVMfSN90Oi8JDEXLEUA0gGWAHjENd8wYWqamj4XdJqrpD-dmgO1Pdo_MvTXnq5WO84cOtCt_tJUlVv21DegahtjNTfIWPbg5vrJ2fBQnQePtPB0EXZa3MepYt1TXzormzjqYrCDnz2vy-vtc7kraObjI6qYtr0F-d_HYJrT1DPmzQ\u0026h=RnFzm3TzZBxq_d7GSYpYW_ygKbuhXwWnmAI7WV-dRU4+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466802989532269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LO3Lhqr9JZpCEYqDRDlxlhfyiEK7Au8LR99XP-SBICX05K6p6WAetqk6r_aIqBVdlrAtqcUCJ5dA5XJXEJiKabSv1u3b1y_sHS2bFjFgdWLtCeq1fTAWsh8wUESS7bWUbpW_AemZR_sTznGkwq0CWJpwJo-6EZUfQnZyyoj5FHVMfSN90Oi8JDEXLEUA0gGWAHjENd8wYWqamj4XdJqrpD-dmgO1Pdo_MvTXnq5WO84cOtCt_tJUlVv21DegahtjNTfIWPbg5vrJ2fBQnQePtPB0EXZa3MepYt1TXzormzjqYrCDnz2vy-vtc7kraObjI6qYtr0F-d_HYJrT1DPmzQ\u0026h=RnFzm3TzZBxq_d7GSYpYW_ygKbuhXwWnmAI7WV-dRU4", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "3" ], - "x-ms-client-request-id": [ "a319a07e-3cce-42a4-9831-18ac02eb8020" ], + "x-ms-unique-id": [ "20" ], + "x-ms-client-request-id": [ "31784ea9-9953-4672-97f8-f0702a5c067b" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "New-AzStackHCIVMLogicalNetwork_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -107,36 +107,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01850a-0000-0100-0000-65dd7d7e0000\"" ], + "ETag": [ "\"65005a9e-0000-0100-0000-65fd0fef0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "01c4d4e6-b764-4afd-a7c1-872e16ee3962" ], - "x-ms-correlation-request-id": [ "49757fe2-69d4-417f-a4db-0fe7ee29c23a" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061409Z:49757fe2-69d4-417f-a4db-0fe7ee29c23a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045919Z:934392c3-7bf0-4e05-8690-a1d33a104ab7" ], + "x-ms-request-id": [ "9ccb2e95-f283-4159-b28e-716f5d1006b6" ], + "x-ms-correlation-request-id": [ "934392c3-7bf0-4e05-8690-a1d33a104ab7" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 33BD9FA3155745B187BC26388924892D Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:14:09Z" ], - "Date": [ "Tue, 27 Feb 2024 06:14:09 GMT" ] + "X-MSEdge-Ref": [ "Ref A: E6686B4DFCC2409582155F9A7EE1A46C Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:59:19Z" ], + "Date": [ "Fri, 22 Mar 2024 04:59:19 GMT" ] }, "ContentHeaders": { "Content-Length": [ "522" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:13:06.8693909Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T04:58:17.7657921Z\"}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME+4": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466802989532269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LO3Lhqr9JZpCEYqDRDlxlhfyiEK7Au8LR99XP-SBICX05K6p6WAetqk6r_aIqBVdlrAtqcUCJ5dA5XJXEJiKabSv1u3b1y_sHS2bFjFgdWLtCeq1fTAWsh8wUESS7bWUbpW_AemZR_sTznGkwq0CWJpwJo-6EZUfQnZyyoj5FHVMfSN90Oi8JDEXLEUA0gGWAHjENd8wYWqamj4XdJqrpD-dmgO1Pdo_MvTXnq5WO84cOtCt_tJUlVv21DegahtjNTfIWPbg5vrJ2fBQnQePtPB0EXZa3MepYt1TXzormzjqYrCDnz2vy-vtc7kraObjI6qYtr0F-d_HYJrT1DPmzQ\u0026h=RnFzm3TzZBxq_d7GSYpYW_ygKbuhXwWnmAI7WV-dRU4+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466802989532269\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LO3Lhqr9JZpCEYqDRDlxlhfyiEK7Au8LR99XP-SBICX05K6p6WAetqk6r_aIqBVdlrAtqcUCJ5dA5XJXEJiKabSv1u3b1y_sHS2bFjFgdWLtCeq1fTAWsh8wUESS7bWUbpW_AemZR_sTznGkwq0CWJpwJo-6EZUfQnZyyoj5FHVMfSN90Oi8JDEXLEUA0gGWAHjENd8wYWqamj4XdJqrpD-dmgO1Pdo_MvTXnq5WO84cOtCt_tJUlVv21DegahtjNTfIWPbg5vrJ2fBQnQePtPB0EXZa3MepYt1TXzormzjqYrCDnz2vy-vtc7kraObjI6qYtr0F-d_HYJrT1DPmzQ\u0026h=RnFzm3TzZBxq_d7GSYpYW_ygKbuhXwWnmAI7WV-dRU4", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "4" ], - "x-ms-client-request-id": [ "a319a07e-3cce-42a4-9831-18ac02eb8020" ], + "x-ms-unique-id": [ "21" ], + "x-ms-client-request-id": [ "31784ea9-9953-4672-97f8-f0702a5c067b" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "New-AzStackHCIVMLogicalNetwork_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -150,122 +150,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01850a-0000-0100-0000-65dd7d7e0000\"" ], + "ETag": [ "\"65002ec2-0000-0100-0000-65fd103b0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "12db7d2b-807e-449c-b8d1-64fd48f27483" ], - "x-ms-correlation-request-id": [ "b1dc5d26-7ad0-4966-944c-f4ed62c6c2f0" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061440Z:b1dc5d26-7ad0-4966-944c-f4ed62c6c2f0" ], + "x-ms-request-id": [ "3e7d0aea-86e0-4724-809d-3ef5a1bd2273" ], + "x-ms-correlation-request-id": [ "65f05de4-f72e-42d2-b1ef-c7b7a6649c4a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045950Z:65f05de4-f72e-42d2-b1ef-c7b7a6649c4a" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: BD2118B543774DBAA944FB3EAF292ADC Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:14:40Z" ], - "Date": [ "Tue, 27 Feb 2024 06:14:39 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "522" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:13:06.8693909Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME+5": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "5" ], - "x-ms-client-request-id": [ "a319a07e-3cce-42a4-9831-18ac02eb8020" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMLogicalNetwork" ], - "FullCommandName": [ "New-AzStackHCIVMLogicalNetwork_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01850a-0000-0100-0000-65dd7d7e0000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "ed5403cd-c1cf-4c5d-b4c4-dc7cec6b3212" ], - "x-ms-correlation-request-id": [ "cfd21b60-09a2-4ff2-85c5-0b3a15393249" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061510Z:cfd21b60-09a2-4ff2-85c5-0b3a15393249" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 64D65F417B04452B8ABD20279DAF0758 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:15:10Z" ], - "Date": [ "Tue, 27 Feb 2024 06:15:09 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "522" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:13:06.8693909Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME+6": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446111889956225\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=kjcUmsgqZV74pYVaNHWshdgNKV5gvuuesMwoWmNa8z8YCCcmTkisCF-m1MMVIn9Le1TVpFtBL18IbzdEiQAe3iYjixxBati9HYXRfuxLlf3zo4QQaPGaJvR7tO7OeWwLeCRhqRvC639tKSdC5AY81oUsya954yJjintAfYHgewLbPKMBkIm-FKqSStAHIPqM5MVl3d_290OrpVEmK5tU29sFlllF2AqrpN8B0K5MzQH0GQQSW9f10lLR7aY_RK92dw7jS9GWoAZguEDdtO_ti-5WKFKDOItSaoIi2kUEd9s3dLppmL1IdojlIoi_wIOzgdWqAb_p9qXAKizurhjVEw\u0026h=-Qy3tNC8TdI7imMq8pheDOMx99YIPkIZSr0HNRiDOME", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "6" ], - "x-ms-client-request-id": [ "a319a07e-3cce-42a4-9831-18ac02eb8020" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMLogicalNetwork" ], - "FullCommandName": [ "New-AzStackHCIVMLogicalNetwork_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01dd17-0000-0100-0000-65dd7df50000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "237bd8a8-3386-4c5f-b13d-cca6df357f7d" ], - "x-ms-correlation-request-id": [ "1e6cf45f-6025-46c7-bd1b-e892f15ac48c" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061540Z:1e6cf45f-6025-46c7-bd1b-e892f15ac48c" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 904E4A0A9AAD4677883570DEC9F36B98 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:15:40Z" ], - "Date": [ "Tue, 27 Feb 2024 06:15:40 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 8BF9F24806BC4C8DA15FF14BE8BD697C Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:59:50Z" ], + "Date": [ "Fri, 22 Mar 2024 04:59:49 GMT" ] }, "ContentHeaders": { "Content-Length": [ "593" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"5e6222fb-6ccf-482a-b8d2-1c4b818a1573*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:13:06.8693909Z\",\"endTime\":\"2024-02-27T06:15:17.6341663Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"4fc1d922-6519-4cb7-89a0-7907373f999f*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:58:17.7657921Z\",\"endTime\":\"2024-03-22T04:59:39.6619831Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview+7": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Create Logical Network +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "7" ], - "x-ms-client-request-id": [ "a319a07e-3cce-42a4-9831-18ac02eb8020" ], + "x-ms-unique-id": [ "22" ], + "x-ms-client-request-id": [ "31784ea9-9953-4672-97f8-f0702a5c067b" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "New-AzStackHCIVMLogicalNetwork_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -279,36 +193,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"8400a3c4-0000-0100-0000-65dd7df60000\"" ], + "ETag": [ "\"010016c2-0000-0100-0000-65fd103c0000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "579fd01b-1eb2-4304-9667-c863fbebfa84" ], - "x-ms-correlation-request-id": [ "632108f2-5f70-4d44-bb8c-34442ce58470" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061541Z:632108f2-5f70-4d44-bb8c-34442ce58470" ], + "x-ms-request-id": [ "60d2ef88-5a76-4590-be82-a711591ef984" ], + "x-ms-correlation-request-id": [ "2b6b2177-a1fb-4b3e-9ead-c1dbf3fb0d6a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045950Z:2b6b2177-a1fb-4b3e-9ead-c1dbf3fb0d6a" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0E3293380E1C4AD8907E87AB3A989E80 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:15:41Z" ], - "Date": [ "Tue, 27 Feb 2024 06:15:40 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 2B4EA44817C747B0B8BDEAB6C3E3D177 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:59:50Z" ], + "Date": [ "Fri, 22 Mar 2024 04:59:50 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "984" ], + "Content-Length": [ "983" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"name\":\"testLnetPowershell0226\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:13:06.7924954Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:15:18.4565837Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[{\"properties\":{\"ipAllocationMethod\":\"Dynamic\",\"routeTable\":{\"properties\":{}}}}],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"name\":\"testLnetPowershell0226\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:58:17.703217Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:59:40.5240543Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[{\"properties\":{\"ipAllocationMethod\":\"Dynamic\",\"routeTable\":{\"properties\":{}}}}],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks?api-version=2023-09-01-preview+1": { + "AzStackHCIVMLogicalNetwork+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "8" ], - "x-ms-client-request-id": [ "cdad40d6-d60b-41b7-a21b-17002a1b8788" ], + "x-ms-unique-id": [ "23" ], + "x-ms-client-request-id": [ "74a15e0d-0593-4ebb-b80e-1057e57799c9" ], "CommandName": [ "Get-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "Get-AzStackHCIVMLogicalNetwork_List" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -323,35 +237,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-original-request-ids": [ "12cbfce8-118a-417a-9282-c4087397a5c3", "b3a8fa89-3bda-4317-a3cf-f9d1bb24e4c1", "20ce2a96-ef7a-4860-8e4d-c16ead5282d5", "0194af16-5c12-414f-b2b4-c12f64cd0bc1", "26ca657c-3dad-4984-a4c6-cf3fae3b4c76", "47349cc1-0f98-44d7-8aca-10e09a93a99c", "3fa71d04-1302-4f0a-8f29-98a33a3fab1f", "ae82c03d-a3a7-4636-a1cb-a5bdd6745216", "517d3adb-e008-4155-80cf-41b488ad0b68", "11587fcf-c0e0-43c5-9d19-089ea996a190" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-request-id": [ "f08a477d-ca92-489b-b051-fe2fad78c8b1" ], - "x-ms-correlation-request-id": [ "f08a477d-ca92-489b-b051-fe2fad78c8b1" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061542Z:f08a477d-ca92-489b-b051-fe2fad78c8b1" ], + "x-ms-original-request-ids": [ "cf3d544a-e352-41ba-b480-16fee9e97f4a", "a1afffce-66dc-4c3e-ae34-a6e62ccdbfb9", "ab0523a7-97a7-4040-8b13-d58f3f39f8a2", "001d328f-fb54-4b66-96f8-42928d6cc255", "0cd2adb7-5c86-4307-a88f-b47a9a63a000", "8af8136c-b22a-4899-8c8b-cebdb3dc792d", "83417621-ba1d-405d-8999-83c3e4d4f01a", "7bcb3910-53b3-47d8-900b-fe3be59eda26", "7f0053b7-d365-4e9f-99d5-4441c8d6ccb4", "7d5ae6eb-1296-4a69-aa05-9b59751e3cad" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-request-id": [ "0983411c-c372-4c60-82da-ad30a0eccdc5" ], + "x-ms-correlation-request-id": [ "0983411c-c372-4c60-82da-ad30a0eccdc5" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045951Z:0983411c-c372-4c60-82da-ad30a0eccdc5" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 7D6FD3C080B943BF8589F66709D6D997 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:15:41Z" ], - "Date": [ "Tue, 27 Feb 2024 06:15:41 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 7D304A52A9E648ADB8134A14407074AF Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:59:50Z" ], + "Date": [ "Fri, 22 Mar 2024 04:59:51 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "3585" ], + "Content-Length": [ "4492" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/testlnet\",\"name\":\"testlnet\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T18:36:03.7258081Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-06T22:26:34.5523907Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/testlnet3\",\"name\":\"testlnet3\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T21:21:24.3495917Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-06T22:26:33.9798946Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"name\":\"testLnetPowershell0226\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:13:06.7924954Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:15:18.4565837Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[{\"properties\":{\"ipAllocationMethod\":\"Dynamic\",\"routeTable\":{\"properties\":{}}}}],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\",\"name\":\"altayllnet\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-07T20:16:32.951019Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-12T23:04:23.8799386Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}}]}", + "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/testlnet\",\"name\":\"testlnet\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T18:36:03.7258081Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-06T22:26:34.5523907Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/testlnet3\",\"name\":\"testlnet3\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T21:21:24.3495917Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-06T22:26:33.9798946Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"name\":\"testLnetPowershell0226\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:58:17.703217Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:59:40.5240543Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[{\"properties\":{\"ipAllocationMethod\":\"Dynamic\",\"routeTable\":{\"properties\":{}}}}],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\",\"name\":\"altayllnet\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-07T20:16:32.951019Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-08T05:24:14.72417Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/lnet-pathuang-0319-01\",\"name\":\"lnet-pathuang-0319-01\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-19T14:20:05.0511106Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T14:28:15.8672976Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}}]}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview+1": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "9" ], - "x-ms-client-request-id": [ "ec2e6d4c-f4a7-4020-b272-fbae03694230" ], + "x-ms-unique-id": [ "24" ], + "x-ms-client-request-id": [ "36e899c0-de7b-45cc-ae0b-0f5dc8125ed3" ], "CommandName": [ "Get-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "Get-AzStackHCIVMLogicalNetwork_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -366,36 +280,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"8400a3c4-0000-0100-0000-65dd7df60000\"" ], + "ETag": [ "\"010016c2-0000-0100-0000-65fd103c0000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "75746415-d767-4969-bf1f-09d4535f44e7" ], - "x-ms-correlation-request-id": [ "25729d57-8f8f-4a5e-bb30-6b061ab93fb5" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061542Z:25729d57-8f8f-4a5e-bb30-6b061ab93fb5" ], + "x-ms-request-id": [ "e64e81ed-17fe-463d-851a-8396d79d64da" ], + "x-ms-correlation-request-id": [ "b2ac20c1-6d49-45cc-8e6c-0ebfdc2457d6" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045951Z:b2ac20c1-6d49-45cc-8e6c-0ebfdc2457d6" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 6B6DA0BADC2542B1A24939A5A233E6F0 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:15:42Z" ], - "Date": [ "Tue, 27 Feb 2024 06:15:41 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 537E6612759D47BE963C93E7DC4CB4C4 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:59:51Z" ], + "Date": [ "Fri, 22 Mar 2024 04:59:51 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "984" ], + "Content-Length": [ "983" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"name\":\"testLnetPowershell0226\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:13:06.7924954Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:15:18.4565837Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[{\"properties\":{\"ipAllocationMethod\":\"Dynamic\",\"routeTable\":{\"properties\":{}}}}],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"name\":\"testLnetPowershell0226\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:58:17.703217Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:59:40.5240543Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[{\"properties\":{\"ipAllocationMethod\":\"Dynamic\",\"routeTable\":{\"properties\":{}}}}],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview+1": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01+1": { "Request": { "Method": "DELETE", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "10" ], - "x-ms-client-request-id": [ "a10ccfd0-87b2-4be2-b68f-823a14b4dee6" ], + "x-ms-unique-id": [ "25" ], + "x-ms-client-request-id": [ "1dce2aca-ef5d-4cd2-b49e-98cc6e8ea690" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "Remove-AzStackHCIVMLogicalNetwork_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -410,21 +324,21 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"840039c5-0000-0100-0000-65dd7e0f0000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446113438533781\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=wQJK3KIUruyoBFTzs204z_CVMWxWYM8I84TFS1zb5FmYYorFPKwlrB8nGgZjO2BB8VOfSF1_nJdk7df1yK2fvMdnxVV0jQw7R_kn1Y4umHHH6PsX30SObDuGcS1KB2MCDRVE-vUsXxG6obXOmpMmuionoxi_qLYY_mCUQuGucOlQOU-WB86cO-R7E9GClnRuwjUmBknrCNohBhPYN4DdyXk-8elHpGcdb_SFaXOwtkfxJAQNIhhMSMqan4cts1ErRDGUxTJo1lx0PDYw59HJcVrJs-vQIUBQgJLX9kwYsE9m-2H80h-W6q-Vz5xHxHaBWc4hKcRmew6hKulH-MR3Sg\u0026h=lvARAdFk6Ia-kqQiYO0gCQd7S815r1HJnNSuPhp3h6I" ], + "ETag": [ "\"01001bc2-0000-0100-0000-65fd10480000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466803925498758\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=HRxhxUKgqKi9yummUg1hqFROAnG7vOROMyZxSZkEU-FSxfnKPe_PaNHWvrRXZ7Z-4RiNfwtgI3Se2tpcwq6oOIpdASj8hAI6Jnypzmp1zdFRkNoiCP2r1zsP08tvjbuERFen2wvkzKoUUu3n-wA8j8zdFLegfBaUV1JspujXPZniVx93uR8sou7TRkRAwE51N9fYeyLr3hP_7jOChyBiGocexQ08vyKna7nxVDM9DxIkTWkqy3bVbNFQEQEtWw9X1KAyBZ1OktLRaAJDQ4b9ou9ZyuWouI4-xDDZGtzMicHt9242yST4xTid7PQrLB_-2Ed5buwcEbjlBlc6aygl-Q\u0026h=vk35WxgQM6sKOYTFEdgLLxc5nwnd00OWVjPc2X2VgvI" ], "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "1461fd35-3dbe-4b43-be7f-2af9af34cf7a" ], + "mise-correlation-id": [ "e2aef46c-87a8-4e3b-acb0-e42ae0dff958" ], "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], + "x-azure-ref": [ "20240322T045952Z-rs36647zed4dz530n7np3w61n800000002b0000000014p9e" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0D37dZQAAAAA87zLSVMsqRoRz8T++8F2aTU5aMjIxMDYwNjE0MDIxADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446113438377516\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LSTy-0TBuA25QLWf9tKk02nqr0qrFpPrxfpl9-AOi8-DRJ6OncK9tumUZlGdzBo8mQy5EMs_ZfDP4Fps-ZidggBaMyVzs-NEiKCM-XRouv375kZ4IVtiXDxJriy46rUkOtv8RqpVo7xiMOpbGByH2EmphelWnnkF5VF-BTsJaqffbcpE1xJpPIKtPgdraOJbJ_uuDfdl6dfjsxCnaKQXk0wfbgWQ2uJt71QbLm4j4m8mzNcxY0282WkVeDVjV2cz_aXKVhYDhHkXg1T1W89QKdruBHajou1OGF9iFkZg46_jGD1xL8VGJWlg_ZUraD-pSdBg0gDA2fvp_skw-lKFRA\u0026h=6jrw0y94lhROq3H6b8NZy0PVfE9_0boQK-4FJwWEVB4" ], - "x-ms-correlation-request-id": [ "cde973ff-7de2-47c7-93a3-13ed919ee395" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061543Z:cde973ff-7de2-47c7-93a3-13ed919ee395" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466803925498758\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=HRxhxUKgqKi9yummUg1hqFROAnG7vOROMyZxSZkEU-FSxfnKPe_PaNHWvrRXZ7Z-4RiNfwtgI3Se2tpcwq6oOIpdASj8hAI6Jnypzmp1zdFRkNoiCP2r1zsP08tvjbuERFen2wvkzKoUUu3n-wA8j8zdFLegfBaUV1JspujXPZniVx93uR8sou7TRkRAwE51N9fYeyLr3hP_7jOChyBiGocexQ08vyKna7nxVDM9DxIkTWkqy3bVbNFQEQEtWw9X1KAyBZ1OktLRaAJDQ4b9ou9ZyuWouI4-xDDZGtzMicHt9242yST4xTid7PQrLB_-2Ed5buwcEbjlBlc6aygl-Q\u0026h=vk35WxgQM6sKOYTFEdgLLxc5nwnd00OWVjPc2X2VgvI" ], + "x-ms-correlation-request-id": [ "9e641301-1a9c-454c-99d6-a8350af63cbf" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045952Z:9e641301-1a9c-454c-99d6-a8350af63cbf" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 59FCEB8B3E0D4AECA5F9110D2C642B9E Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:15:42Z" ], - "Date": [ "Tue, 27 Feb 2024 06:15:43 GMT" ] + "X-MSEdge-Ref": [ "Ref A: E317746C2F7F47B6886F197CB7DCFEAA Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:59:51Z" ], + "Date": [ "Fri, 22 Mar 2024 04:59:52 GMT" ] }, "ContentHeaders": { "Content-Length": [ "4" ], @@ -435,16 +349,16 @@ "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446113438377516\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LSTy-0TBuA25QLWf9tKk02nqr0qrFpPrxfpl9-AOi8-DRJ6OncK9tumUZlGdzBo8mQy5EMs_ZfDP4Fps-ZidggBaMyVzs-NEiKCM-XRouv375kZ4IVtiXDxJriy46rUkOtv8RqpVo7xiMOpbGByH2EmphelWnnkF5VF-BTsJaqffbcpE1xJpPIKtPgdraOJbJ_uuDfdl6dfjsxCnaKQXk0wfbgWQ2uJt71QbLm4j4m8mzNcxY0282WkVeDVjV2cz_aXKVhYDhHkXg1T1W89QKdruBHajou1OGF9iFkZg46_jGD1xL8VGJWlg_ZUraD-pSdBg0gDA2fvp_skw-lKFRA\u0026h=6jrw0y94lhROq3H6b8NZy0PVfE9_0boQK-4FJwWEVB4+2": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466803925498758\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=HRxhxUKgqKi9yummUg1hqFROAnG7vOROMyZxSZkEU-FSxfnKPe_PaNHWvrRXZ7Z-4RiNfwtgI3Se2tpcwq6oOIpdASj8hAI6Jnypzmp1zdFRkNoiCP2r1zsP08tvjbuERFen2wvkzKoUUu3n-wA8j8zdFLegfBaUV1JspujXPZniVx93uR8sou7TRkRAwE51N9fYeyLr3hP_7jOChyBiGocexQ08vyKna7nxVDM9DxIkTWkqy3bVbNFQEQEtWw9X1KAyBZ1OktLRaAJDQ4b9ou9ZyuWouI4-xDDZGtzMicHt9242yST4xTid7PQrLB_-2Ed5buwcEbjlBlc6aygl-Q\u0026h=vk35WxgQM6sKOYTFEdgLLxc5nwnd00OWVjPc2X2VgvI+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446113438377516\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LSTy-0TBuA25QLWf9tKk02nqr0qrFpPrxfpl9-AOi8-DRJ6OncK9tumUZlGdzBo8mQy5EMs_ZfDP4Fps-ZidggBaMyVzs-NEiKCM-XRouv375kZ4IVtiXDxJriy46rUkOtv8RqpVo7xiMOpbGByH2EmphelWnnkF5VF-BTsJaqffbcpE1xJpPIKtPgdraOJbJ_uuDfdl6dfjsxCnaKQXk0wfbgWQ2uJt71QbLm4j4m8mzNcxY0282WkVeDVjV2cz_aXKVhYDhHkXg1T1W89QKdruBHajou1OGF9iFkZg46_jGD1xL8VGJWlg_ZUraD-pSdBg0gDA2fvp_skw-lKFRA\u0026h=6jrw0y94lhROq3H6b8NZy0PVfE9_0boQK-4FJwWEVB4", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466803925498758\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=HRxhxUKgqKi9yummUg1hqFROAnG7vOROMyZxSZkEU-FSxfnKPe_PaNHWvrRXZ7Z-4RiNfwtgI3Se2tpcwq6oOIpdASj8hAI6Jnypzmp1zdFRkNoiCP2r1zsP08tvjbuERFen2wvkzKoUUu3n-wA8j8zdFLegfBaUV1JspujXPZniVx93uR8sou7TRkRAwE51N9fYeyLr3hP_7jOChyBiGocexQ08vyKna7nxVDM9DxIkTWkqy3bVbNFQEQEtWw9X1KAyBZ1OktLRaAJDQ4b9ou9ZyuWouI4-xDDZGtzMicHt9242yST4xTid7PQrLB_-2Ed5buwcEbjlBlc6aygl-Q\u0026h=vk35WxgQM6sKOYTFEdgLLxc5nwnd00OWVjPc2X2VgvI", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "11" ], - "x-ms-client-request-id": [ "a10ccfd0-87b2-4be2-b68f-823a14b4dee6" ], + "x-ms-unique-id": [ "26" ], + "x-ms-client-request-id": [ "1dce2aca-ef5d-4cd2-b49e-98cc6e8ea690" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "Remove-AzStackHCIVMLogicalNetwork_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -458,36 +372,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01ee1d-0000-0100-0000-65dd7e2b0000\"" ], + "ETag": [ "\"650095c9-0000-0100-0000-65fd10510000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "4482d78e-4603-4279-934e-20b7b002b92a" ], - "x-ms-correlation-request-id": [ "c46d046a-3308-4eeb-a482-a5f58b98e095" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061614Z:c46d046a-3308-4eeb-a482-a5f58b98e095" ], + "x-ms-request-id": [ "743e2a91-3589-40a9-b8c6-f00cdbfc0620" ], + "x-ms-correlation-request-id": [ "054a1cc8-9f4a-4f67-ad72-6a1eb7ffe7f8" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050023Z:054a1cc8-9f4a-4f67-ad72-6a1eb7ffe7f8" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3D7469F0107E4F42A401FB2A237CA528 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:16:14Z" ], - "Date": [ "Tue, 27 Feb 2024 06:16:13 GMT" ] + "X-MSEdge-Ref": [ "Ref A: F16CE9C0EC884BF1B48464AC25575D2A Ref B: CO6AA3150217031 Ref C: 2024-03-22T05:00:22Z" ], + "Date": [ "Fri, 22 Mar 2024 05:00:22 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "579" ], + "Content-Length": [ "582" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:15:43.235475Z\",\"endTime\":\"2024-02-27T06:16:11.27635Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:59:52.2123411Z\",\"endTime\":\"2024-03-22T05:00:01.5100684Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446113438377516\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LSTy-0TBuA25QLWf9tKk02nqr0qrFpPrxfpl9-AOi8-DRJ6OncK9tumUZlGdzBo8mQy5EMs_ZfDP4Fps-ZidggBaMyVzs-NEiKCM-XRouv375kZ4IVtiXDxJriy46rUkOtv8RqpVo7xiMOpbGByH2EmphelWnnkF5VF-BTsJaqffbcpE1xJpPIKtPgdraOJbJ_uuDfdl6dfjsxCnaKQXk0wfbgWQ2uJt71QbLm4j4m8mzNcxY0282WkVeDVjV2cz_aXKVhYDhHkXg1T1W89QKdruBHajou1OGF9iFkZg46_jGD1xL8VGJWlg_ZUraD-pSdBg0gDA2fvp_skw-lKFRA\u0026h=6jrw0y94lhROq3H6b8NZy0PVfE9_0boQK-4FJwWEVB4+3": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466803925498758\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=HRxhxUKgqKi9yummUg1hqFROAnG7vOROMyZxSZkEU-FSxfnKPe_PaNHWvrRXZ7Z-4RiNfwtgI3Se2tpcwq6oOIpdASj8hAI6Jnypzmp1zdFRkNoiCP2r1zsP08tvjbuERFen2wvkzKoUUu3n-wA8j8zdFLegfBaUV1JspujXPZniVx93uR8sou7TRkRAwE51N9fYeyLr3hP_7jOChyBiGocexQ08vyKna7nxVDM9DxIkTWkqy3bVbNFQEQEtWw9X1KAyBZ1OktLRaAJDQ4b9ou9ZyuWouI4-xDDZGtzMicHt9242yST4xTid7PQrLB_-2Ed5buwcEbjlBlc6aygl-Q\u0026h=vk35WxgQM6sKOYTFEdgLLxc5nwnd00OWVjPc2X2VgvI+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2023-09-01-preview\u0026t=638446113438377516\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=LSTy-0TBuA25QLWf9tKk02nqr0qrFpPrxfpl9-AOi8-DRJ6OncK9tumUZlGdzBo8mQy5EMs_ZfDP4Fps-ZidggBaMyVzs-NEiKCM-XRouv375kZ4IVtiXDxJriy46rUkOtv8RqpVo7xiMOpbGByH2EmphelWnnkF5VF-BTsJaqffbcpE1xJpPIKtPgdraOJbJ_uuDfdl6dfjsxCnaKQXk0wfbgWQ2uJt71QbLm4j4m8mzNcxY0282WkVeDVjV2cz_aXKVhYDhHkXg1T1W89QKdruBHajou1OGF9iFkZg46_jGD1xL8VGJWlg_ZUraD-pSdBg0gDA2fvp_skw-lKFRA\u0026h=6jrw0y94lhROq3H6b8NZy0PVfE9_0boQK-4FJwWEVB4", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838?api-version=2024-01-01\u0026t=638466803925498758\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=HRxhxUKgqKi9yummUg1hqFROAnG7vOROMyZxSZkEU-FSxfnKPe_PaNHWvrRXZ7Z-4RiNfwtgI3Se2tpcwq6oOIpdASj8hAI6Jnypzmp1zdFRkNoiCP2r1zsP08tvjbuERFen2wvkzKoUUu3n-wA8j8zdFLegfBaUV1JspujXPZniVx93uR8sou7TRkRAwE51N9fYeyLr3hP_7jOChyBiGocexQ08vyKna7nxVDM9DxIkTWkqy3bVbNFQEQEtWw9X1KAyBZ1OktLRaAJDQ4b9ou9ZyuWouI4-xDDZGtzMicHt9242yST4xTid7PQrLB_-2Ed5buwcEbjlBlc6aygl-Q\u0026h=vk35WxgQM6sKOYTFEdgLLxc5nwnd00OWVjPc2X2VgvI", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "12" ], - "x-ms-client-request-id": [ "a10ccfd0-87b2-4be2-b68f-823a14b4dee6" ], + "x-ms-unique-id": [ "27" ], + "x-ms-client-request-id": [ "1dce2aca-ef5d-4cd2-b49e-98cc6e8ea690" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "Remove-AzStackHCIVMLogicalNetwork_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -501,35 +415,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01ee1d-0000-0100-0000-65dd7e2b0000\"" ], + "ETag": [ "\"650095c9-0000-0100-0000-65fd10510000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "99b68699-4502-4741-acb0-179da1d9682c" ], - "x-ms-correlation-request-id": [ "8d1e8867-5324-45b8-9ef8-fd14052cfd7c" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061614Z:8d1e8867-5324-45b8-9ef8-fd14052cfd7c" ], + "x-ms-request-id": [ "a1ad6c27-5431-4245-b870-977ca031a139" ], + "x-ms-correlation-request-id": [ "0ee747af-72ba-401b-8e90-87983bfbed07" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050023Z:0ee747af-72ba-401b-8e90-87983bfbed07" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: DCE05186ECF844518A7A262F0553B004 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:16:14Z" ], - "Date": [ "Tue, 27 Feb 2024 06:16:13 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 83FE99F709BB459889450E5F927ED099 Ref B: CO6AA3150217031 Ref C: 2024-03-22T05:00:23Z" ], + "Date": [ "Fri, 22 Mar 2024 05:00:22 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "579" ], + "Content-Length": [ "582" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"cdb9b69d-ac3d-42d7-8732-b2c40e3f8c79*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:15:43.235475Z\",\"endTime\":\"2024-02-27T06:16:11.27635Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"name\":\"ac60761d-743b-42b1-9a02-ab9fe73c53ba*8C13156FD756C3C593B6254BDC0F2DB6B830D08F3835ACFB32E2D82F89130838\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:59:52.2123411Z\",\"endTime\":\"2024-03-22T05:00:01.5100684Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMLogicalNetwork+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview+4": { + "AzStackHCIVMLogicalNetwork+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "13" ], - "x-ms-client-request-id": [ "497d6acd-5057-4eb9-8cb0-5fbc8d6a5d93" ], + "x-ms-unique-id": [ "28" ], + "x-ms-client-request-id": [ "586650a7-8ee2-4c23-b1ec-be43fcfe01d2" ], "CommandName": [ "Get-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "Get-AzStackHCIVMLogicalNetwork_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -544,24 +458,22 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "538774bb-0e25-413b-b1fe-846373a26b60" ], - "x-ms-correlation-request-id": [ "44f1b63a-813b-4241-9ca7-c7ef96500ab9" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T061614Z:44f1b63a-813b-4241-9ca7-c7ef96500ab9" ], + "x-ms-request-id": [ "5c54999f-d10f-4157-a41e-e5e13ecd0968" ], + "x-ms-correlation-request-id": [ "5c54999f-d10f-4157-a41e-e5e13ecd0968" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050023Z:5c54999f-d10f-4157-a41e-e5e13ecd0968" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 7C0CF52C0E2C48A39455E534AEACC0D2 Ref B: CO6AA3150217049 Ref C: 2024-02-27T06:16:14Z" ], - "Date": [ "Tue, 27 Feb 2024 06:16:14 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 3AF523EA1C51411A9AF5F12E7D024092 Ref B: CO6AA3150217031 Ref C: 2024-03-22T05:00:23Z" ], + "Date": [ "Fri, 22 Mar 2024 05:00:22 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "147" ], - "Content-Type": [ "application/json" ], + "Content-Length": [ "246" ], + "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The resource \u0027Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\u0027 could not be found.\"}}", + "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The Resource \u0027Microsoft.AzureStackHCI/logicalNetworks/testLnetPowershell0226\u0027 under resource group \u0027mkclus104-rg\u0027 was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"}}", "isContentBase64": false } } From 4f2348757f8f02fb8bd9aa9b08d5d3ddd94e2659 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Thu, 21 Mar 2024 23:06:04 -0700 Subject: [PATCH 17/21] adding image and nic recordings --- .../test/AzStackHCIVMImageNew.Recording.json | 4176 +---------------- ...zStackHCIVMNetworkInterface.Recording.json | 338 +- 2 files changed, 365 insertions(+), 4149 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMImageNew.Recording.json b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMImageNew.Recording.json index db8637902bc3..a01df85e7acc 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMImageNew.Recording.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMImageNew.Recording.json @@ -1,8 +1,8 @@ { - "AzStackHCIVMImageNew+[NoContext]+Create Image +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview+1": { + "AzStackHCIVMImageNew+[NoContext]+Create Image +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01+1": { "Request": { "Method": "PUT", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01", "Content": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"imagePath\": \"C:\\\\ClusterStorage\\\\Volume1\\\\vhds\\\\ubuntu.vhdx\",\r\n \"osType\": \"Linux\"\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", "isContentBase64": false, "Headers": { @@ -17,40 +17,40 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"820184c8-0000-0100-0000-65dd9c8a0000\"" ], + "ETag": [ "\"d600737b-0000-0100-0000-65fd0f250000\"" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "de26bc3d-ea2a-4a5a-8b98-16595465c20f" ], - "x-ms-request-id": [ "220ffb53-dd62-470c-a927-50384e7d6057" ], - "x-ms-correlation-request-id": [ "68659da0-d19c-452a-9a65-ccc7503c448c" ], + "mise-correlation-id": [ "82680194-7540-4e14-8d80-1a621f1ee68a" ], + "x-ms-request-id": [ "fc2aba6e-1849-42ad-aa84-28d06aff61c3" ], + "x-ms-correlation-request-id": [ "9ea6e76e-c7bd-4334-a0c1-bc9ea239164a" ], + "x-azure-ref": [ "20240322T045500Z-8zc7afmfbh4nm4ym2nu0f91gkg00000002ng000000006hph" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0iZzdZQAAAAAu8Tx02FMPRKq1vE8Dt8UzTU5aMjIxMDYwNjE0MDIxADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082547Z:68659da0-d19c-452a-9a65-ccc7503c448c" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045502Z:9ea6e76e-c7bd-4334-a0c1-bc9ea239164a" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 12CF62D215A646DA923F78CE1E433890 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:25:44Z" ], - "Date": [ "Tue, 27 Feb 2024 08:25:47 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 13C5F36175744B43AC6C155534D77926 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:54:59Z" ], + "Date": [ "Fri, 22 Mar 2024 04:55:01 GMT" ] }, "ContentHeaders": { "Content-Length": [ "781" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:25:45.2955444Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:25:45.2955444Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"osType\":\"Linux\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:55:00.6523822Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:55:00.6523822Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"osType\":\"Linux\"}}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA+2": { + "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "2" ], - "x-ms-client-request-id": [ "425eaaca-9519-45f1-a6f1-efc5b9b94866" ], + "x-ms-client-request-id": [ "10e4fa3f-b699-4be5-92bf-d06967fe474f" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -64,36 +64,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5d0118c2-0000-0100-0000-65dd9c940000\"" ], + "ETag": [ "\"6500104c-0000-0100-0000-65fd0f2e0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "6574b9b3-77b7-452f-b8fa-1e6206a8e463" ], - "x-ms-correlation-request-id": [ "f781616d-54b5-4414-9ba2-f120bf4ecb52" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082617Z:f781616d-54b5-4414-9ba2-f120bf4ecb52" ], + "x-ms-request-id": [ "612754c3-3fde-4002-8935-139dfba3f169" ], + "x-ms-correlation-request-id": [ "d87a7329-fa2a-47e4-a787-58a5673a5d72" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045532Z:d87a7329-fa2a-47e4-a787-58a5673a5d72" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 08A30E2D7EC343EABFD3CEB55ED2EB4C Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:26:17Z" ], - "Date": [ "Tue, 27 Feb 2024 08:26:17 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 379CD443A2534A9BBA4C6C23B3B67F87 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:55:32Z" ], + "Date": [ "Fri, 22 Mar 2024 04:55:32 GMT" ] }, "ContentHeaders": { "Content-Length": [ "513" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T08:25:45.3659415Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T04:55:00.7305217Z\"}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA+3": { + "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "3" ], - "x-ms-client-request-id": [ "425eaaca-9519-45f1-a6f1-efc5b9b94866" ], + "x-ms-client-request-id": [ "10e4fa3f-b699-4be5-92bf-d06967fe474f" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -107,36 +107,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5d0118c2-0000-0100-0000-65dd9c940000\"" ], + "ETag": [ "\"6500104c-0000-0100-0000-65fd0f2e0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "3e5c1973-7c3c-4f30-bbb3-0ad44ea197a1" ], - "x-ms-correlation-request-id": [ "6243d3cd-0f7f-4d11-9aa4-c285f0dcbca4" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082648Z:6243d3cd-0f7f-4d11-9aa4-c285f0dcbca4" ], + "x-ms-request-id": [ "732cb383-697c-4f00-a6bd-a1e96e88d2e1" ], + "x-ms-correlation-request-id": [ "2033003e-7528-48dc-a3e5-c76a9d52c0e7" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045602Z:2033003e-7528-48dc-a3e5-c76a9d52c0e7" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: BB36DC1EA94143809726FA21E541083D Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:26:48Z" ], - "Date": [ "Tue, 27 Feb 2024 08:26:47 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 502F9A0F2A1A4C5A9C6023AD42A2F0FF Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:56:02Z" ], + "Date": [ "Fri, 22 Mar 2024 04:56:02 GMT" ] }, "ContentHeaders": { "Content-Length": [ "513" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T08:25:45.3659415Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T04:55:00.7305217Z\"}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA+4": { + "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "4" ], - "x-ms-client-request-id": [ "425eaaca-9519-45f1-a6f1-efc5b9b94866" ], + "x-ms-client-request-id": [ "10e4fa3f-b699-4be5-92bf-d06967fe474f" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -150,3731 +150,40 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5d0118c2-0000-0100-0000-65dd9c940000\"" ], + "ETag": [ "\"65006466-0000-0100-0000-65fd0f6e0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "31810cf0-825d-48e4-83c6-dd54cd08ba04" ], - "x-ms-correlation-request-id": [ "e75ce2bc-7c05-4357-b5a5-ab625ebad44d" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082718Z:e75ce2bc-7c05-4357-b5a5-ab625ebad44d" ], + "x-ms-request-id": [ "b388080d-3452-4fd5-8a3e-c4358c585eeb" ], + "x-ms-correlation-request-id": [ "f3a90fb5-6567-4d95-b3ab-14ec4b6b92d7" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045633Z:f3a90fb5-6567-4d95-b3ab-14ec4b6b92d7" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3FD1F949E18C46F18E0517F2CD686118 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:27:18Z" ], - "Date": [ "Tue, 27 Feb 2024 08:27:18 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 6D61A854A4DB4A88B51303CB9B4DCF1D Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:56:33Z" ], + "Date": [ "Fri, 22 Mar 2024 04:56:33 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "513" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T08:25:45.3659415Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA+5": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "5" ], - "x-ms-client-request-id": [ "425eaaca-9519-45f1-a6f1-efc5b9b94866" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], - "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5d0118c2-0000-0100-0000-65dd9c940000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "898b9854-e4cb-4563-9cbd-87b0c4da1a8a" ], - "x-ms-correlation-request-id": [ "26572fad-34a9-4c63-b575-01173ab75f3e" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082749Z:26572fad-34a9-4c63-b575-01173ab75f3e" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: F5AADF9BA713415BBA215F4DAE213389 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:27:48Z" ], - "Date": [ "Tue, 27 Feb 2024 08:27:48 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "513" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T08:25:45.3659415Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA+6": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446191473580652\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=DnUBw5bwrMk2N940gO8iec582BQ2Ch0N2AZDSO8gI6wM1X6BrWWL3j7BfcstWGrVGyZ1oDBQIAMV1FOV_MY6Xez6LY4qbSwDiE6b0U4R2B684ef8iMMa5X3ry0b9dMw3It17gPNgUcJ-W1a-q-nAJG6YFHyI3QNpmeOFQSqDfrF2ytkumrmQUkrIBieZSI-jtaeDlrooe51FwisFiWOJQWsrr2-w095RERBpBH8KsWakOfLCIlKn9z6lHBEc0eyLE_3Qrbp8tfeVGoDkP7i7PI2VaChELd5YZ4We7BEizmLynP129cu39wYJ_4k7PEyDPaPWOlE3hOjYNCczqb7Z6Q\u0026h=grlk0Qmv8hwncB4hjjmVzIhTJnVbFMHF2NZgusasvSA", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "6" ], - "x-ms-client-request-id": [ "425eaaca-9519-45f1-a6f1-efc5b9b94866" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], - "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5d01d8cf-0000-0100-0000-65dd9d0d0000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "541a1bb9-1760-4e5f-8629-079a743c740d" ], - "x-ms-correlation-request-id": [ "2263565a-a7e8-47f6-adc9-3bea3051a785" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082819Z:2263565a-a7e8-47f6-adc9-3bea3051a785" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0082813FF73741ADBA8CCB9CE15E0A5B Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:28:19Z" ], - "Date": [ "Tue, 27 Feb 2024 08:28:19 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "584" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T08:25:45.3659415Z\",\"endTime\":\"2024-02-27T08:27:57.8389203Z\",\"error\":{},\"properties\":null}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview+7": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "7" ], - "x-ms-client-request-id": [ "425eaaca-9519-45f1-a6f1-efc5b9b94866" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], - "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"8201e8d4-0000-0100-0000-65dd9d0e0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "2a2b8bcf-6ec6-46b9-9ffe-3e9dec94369e" ], - "x-ms-correlation-request-id": [ "1b653b72-6708-4005-aa07-69dde5b04f41" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082820Z:1b653b72-6708-4005-aa07-69dde5b04f41" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3D92C47C013A47B7861AFE51E128AD02 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:28:19Z" ], - "Date": [ "Tue, 27 Feb 2024 08:28:19 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1282" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:25:45.2955444Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T08:27:58.5806531Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\"}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+1": { - "Request": { - "Method": "PUT", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"identifier\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"windowsserver\",\r\n \"sku\": \"2022-datacenter-azure-edition-core\"\r\n },\r\n \"version\": {\r\n \"name\": \"20348.1850.230906\"\r\n },\r\n \"osType\": \"Windows\"\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", - "isContentBase64": false, - "Headers": { - }, - "ContentHeaders": { - "Content-Type": [ "application/json" ], - "Content-Length": [ "528" ] - } - }, - "Response": { - "StatusCode": 201, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000959b-0000-0100-0000-65dd9d260000\"" ], - "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], - "x-ms-providerhub-traffic": [ "True" ], - "X-Content-Type-Options": [ "nosniff" ], - "mise-correlation-id": [ "818c4a64-8a55-4b2b-98e4-acd302d600a7" ], - "x-ms-request-id": [ "4c5cde98-e069-4cc4-85ed-0255c2212475" ], - "x-ms-correlation-request-id": [ "c9baf6b6-e6d5-4a42-b22e-69777563ca4d" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08cb0302-e405-4650-98e7-36917830006d*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF?api-version=2023-09-01-preview\u0026t=638446193043122626\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=h3x972quRgulJY1IOfXyK-QPdmzypbOgA08UAKalbzBnXaubDzz5om-b9mN15caZ_nXR9A2HgDv0-N80rOlJEAyaGco5eAAHUyd5Y1xmrJ80hDdFT5UXIxTS1wsDkxCev6GlCTrWP5sTjdwy4P5lCEgLh_SE5m75aCpip135btcN9gBZ7ZCQIpCupHiFEEIWeUShNo6IULY0e5lC7gyv5AT0kA7yv94CEnrLXlfy8TYX8TC02obPtr3paFFUI_1ikOYmfy9PVtMt62G-n3AikM4bJPm35I_roB0Pldc798NK8V2RLsGWiuU0Kkr8zc3ltBJyAAVM0Emp-bA058TYPg\u0026h=u9Kksfy7t8ataScdM7ZG6v2eXEiCcgKqUNKeQo9jsx4" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082824Z:c9baf6b6-e6d5-4a42-b22e-69777563ca4d" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 4E16531BFA324CBBBBEC4C0F44A39A64 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:28:20Z" ], - "Date": [ "Tue, 27 Feb 2024 08:28:23 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "967" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+2": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "9" ], - "x-ms-client-request-id": [ "d5955348-8a8d-4a33-b047-e046d44b8fe4" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000959b-0000-0100-0000-65dd9d260000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "6d5fee80-c0ff-44fe-9bb3-c29755d60c95" ], - "x-ms-correlation-request-id": [ "c5a5adbd-0e94-4f66-a0e0-6ad4d54bc3e0" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082924Z:c5a5adbd-0e94-4f66-a0e0-6ad4d54bc3e0" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 60682BC3477A45FB9B3F6ECAD1BAA5D4 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:29:24Z" ], - "Date": [ "Tue, 27 Feb 2024 08:29:24 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "967" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+3": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "10" ], - "x-ms-client-request-id": [ "d1c69cd8-5f83-47ef-92f5-0e2cfdd6f66c" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000d69c-0000-0100-0000-65dd9d660000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "9bad9f46-5f91-4501-b2d1-ab178bc36544" ], - "x-ms-correlation-request-id": [ "4b40c59c-cbd2-4579-b9c5-4578f30b6e51" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082929Z:4b40c59c-cbd2-4579-b9c5-4578f30b6e51" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: AB2B7E769EBC4AAF871E8F79B15A162D Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:29:29Z" ], - "Date": [ "Tue, 27 Feb 2024 08:29:29 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "967" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+4": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "11" ], - "x-ms-client-request-id": [ "233d77d4-a60c-4b1f-b136-44d8938d9004" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000d69c-0000-0100-0000-65dd9d660000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "9e4a8488-2e97-40be-a8d4-f12f42b08876" ], - "x-ms-correlation-request-id": [ "dc4bffe6-d4fc-426b-9150-f643e3d16b09" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082935Z:dc4bffe6-d4fc-426b-9150-f643e3d16b09" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: A761668802A94C1AA8F2BD1DAF30DA5B Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:29:35Z" ], - "Date": [ "Tue, 27 Feb 2024 08:29:34 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "967" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+5": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "12" ], - "x-ms-client-request-id": [ "256509db-5a26-4169-8401-208cc5d5f0e0" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000d69c-0000-0100-0000-65dd9d660000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "fbdef2c7-ba5b-49d4-b7c2-46ef8c0c6a89" ], - "x-ms-correlation-request-id": [ "6fa80540-e507-4b68-a154-6ef2ba2794dd" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082940Z:6fa80540-e507-4b68-a154-6ef2ba2794dd" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: BFDDCA44798C493EA9DE14FF8F0AA33D Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:29:40Z" ], - "Date": [ "Tue, 27 Feb 2024 08:29:40 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "967" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+6": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "13" ], - "x-ms-client-request-id": [ "bb635bef-11fc-4e10-85ac-8d188c03d875" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000d69c-0000-0100-0000-65dd9d660000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "b21ac549-4ea7-4c2a-8a12-ce26bce69dab" ], - "x-ms-correlation-request-id": [ "732f7531-3717-4bec-b449-2d1671327512" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082945Z:732f7531-3717-4bec-b449-2d1671327512" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: F1D4156166A6473FA4DAE7A4FD99F8B6 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:29:45Z" ], - "Date": [ "Tue, 27 Feb 2024 08:29:45 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "967" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+7": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "14" ], - "x-ms-client-request-id": [ "41a0d476-7d33-4096-9580-0253e9670e21" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000d69c-0000-0100-0000-65dd9d660000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082951Z:06d0d4e3-6715-4965-8bbf-ee3e302ffa4d" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "198ab8a7-d383-44dd-aee9-af5e34285010" ], - "x-ms-correlation-request-id": [ "06d0d4e3-6715-4965-8bbf-ee3e302ffa4d" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 72E05BE38AF14682A5FDB3DBBDF06E39 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:29:50Z" ], - "Date": [ "Tue, 27 Feb 2024 08:29:50 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "967" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+8": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "15" ], - "x-ms-client-request-id": [ "5e583bd6-58ad-445d-bfda-0758ecb80dc6" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000ec9d-0000-0100-0000-65dd9d830000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "d1d8fb0f-e4b2-47dc-8232-5eebf5df87c9" ], - "x-ms-correlation-request-id": [ "8832483c-b2d8-4f7e-8aff-2749da4eff6a" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T082956Z:8832483c-b2d8-4f7e-8aff-2749da4eff6a" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B67EB56BFAE44996BB1CBB669F694F95 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:29:56Z" ], - "Date": [ "Tue, 27 Feb 2024 08:29:55 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+9": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "16" ], - "x-ms-client-request-id": [ "98122acd-5ebb-4628-a4fe-7096da18f2cc" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000ec9d-0000-0100-0000-65dd9d830000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "b6a23773-c5ee-4925-ab08-e3e7ab09c568" ], - "x-ms-correlation-request-id": [ "74338b4b-aacb-43d8-853b-e2c7799678c8" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083001Z:74338b4b-aacb-43d8-853b-e2c7799678c8" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 697E27085BE344E4BF62CAF426441D05 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:01Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:01 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+10": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "17" ], - "x-ms-client-request-id": [ "04d275e5-b575-4d78-b5fd-3b015d707b3b" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000ec9d-0000-0100-0000-65dd9d830000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "9d598c8c-082a-4879-8042-90ce182dbb01" ], - "x-ms-correlation-request-id": [ "5296d2a9-d881-4684-ae57-f2a8c2f593c7" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083007Z:5296d2a9-d881-4684-ae57-f2a8c2f593c7" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0559F4C5219D4E5399CC4BECE6E772DC Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:06Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:06 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+11": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "18" ], - "x-ms-client-request-id": [ "b010ffe9-4f58-41f5-89fa-de5b892a3dfd" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000ec9d-0000-0100-0000-65dd9d830000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "9256c612-f3aa-46d9-9d67-498826c0ef75" ], - "x-ms-correlation-request-id": [ "496f1198-e75d-4cc6-bc77-ebd6fc535ae9" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083012Z:496f1198-e75d-4cc6-bc77-ebd6fc535ae9" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: FCF37D5FA6E74CEF81E1762F2996AD65 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:12Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:12 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+12": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "19" ], - "x-ms-client-request-id": [ "5ed859fe-7c4a-4537-b073-3b49ab7dcd70" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000ec9d-0000-0100-0000-65dd9d830000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "c5e228f3-9c0d-4e4a-bc75-2881096916b5" ], - "x-ms-correlation-request-id": [ "580688de-9315-4532-9995-cb03c26e9133" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083018Z:580688de-9315-4532-9995-cb03c26e9133" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 547FC198CA8B44D7881E6D532BEC0431 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:17Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:17 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+13": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "20" ], - "x-ms-client-request-id": [ "60f8e710-85d4-4a5b-90e7-da9090c8c4b7" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000ec9d-0000-0100-0000-65dd9d830000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "0d41db70-c2b6-4c5c-911c-8c288cf761f8" ], - "x-ms-correlation-request-id": [ "78e930fb-381c-4f6c-a6aa-8337e0d6052c" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083023Z:78e930fb-381c-4f6c-a6aa-8337e0d6052c" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 8A1A02456FDB413FB3529A7583DC1137 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:23Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:22 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+14": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "21" ], - "x-ms-client-request-id": [ "564eb6aa-f0d6-43ed-9384-ed47d0bb93a5" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000ec9d-0000-0100-0000-65dd9d830000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "c8c064dc-adec-42db-ac0f-817b81abac16" ], - "x-ms-correlation-request-id": [ "7bf46df1-6369-48b1-abd2-d8ce5e7c9935" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083028Z:7bf46df1-6369-48b1-abd2-d8ce5e7c9935" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 46598091F3E14A258C3D5E02ABF77CEE Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:28Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:28 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+15": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "22" ], - "x-ms-client-request-id": [ "9a3f2806-9a60-43eb-9165-48abe61abbd6" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "4ff44825-5846-46b8-9c38-3fea113cfa45" ], - "x-ms-correlation-request-id": [ "08993303-330d-41ec-882d-f70b3fc4fb56" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083034Z:08993303-330d-41ec-882d-f70b3fc4fb56" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 608C949E745848EC97691093B4743856 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:33Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:33 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+16": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "23" ], - "x-ms-client-request-id": [ "e104ccb6-49eb-4ebd-b6dc-9365698b2058" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "baabb475-9607-470d-a8df-9a95c7f86d25" ], - "x-ms-correlation-request-id": [ "b15801c4-fcdb-4de1-9238-74082d1f2fe0" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083039Z:b15801c4-fcdb-4de1-9238-74082d1f2fe0" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 6DFDB11A4D94423AB3443DF7135D260A Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:39Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:38 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+17": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "24" ], - "x-ms-client-request-id": [ "daeadd9a-589a-48b0-893a-5d7dafac8c45" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "3fbaae0c-07fd-494c-b1a5-19b5dacf0ee0" ], - "x-ms-correlation-request-id": [ "6b1f9f3c-368b-438a-8e4a-90d9392ea8dd" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083045Z:6b1f9f3c-368b-438a-8e4a-90d9392ea8dd" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: DE304A95D5004F2FA6660D3E0B1CBC37 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:44Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:44 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+18": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "25" ], - "x-ms-client-request-id": [ "680fcadb-4291-4a0d-870f-727866706b61" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "f32e0b71-4d12-4693-a79f-8d573984349a" ], - "x-ms-correlation-request-id": [ "4a7e0681-9c50-43cd-a4a2-139306575cbc" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083050Z:4a7e0681-9c50-43cd-a4a2-139306575cbc" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 6FD8D2ABABB54065A0B9ED9D18E3C2F2 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:50Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:49 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+19": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "26" ], - "x-ms-client-request-id": [ "9e5d6f42-cb98-4c0f-ad43-eb09864cc1b7" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "ea45a23d-032d-47aa-9254-7d42690939b9" ], - "x-ms-correlation-request-id": [ "e007e364-4f61-47bc-bc22-8fb50b29946c" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083055Z:e007e364-4f61-47bc-bc22-8fb50b29946c" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0F467F7AA5194A6EADF99B6D117717EE Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:30:55Z" ], - "Date": [ "Tue, 27 Feb 2024 08:30:55 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+20": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "27" ], - "x-ms-client-request-id": [ "4c1d6dc4-41e5-4e02-8a1b-92ed6711e482" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "c15a7533-a904-4818-95a7-51cdd9b8b414" ], - "x-ms-correlation-request-id": [ "1141223d-45c4-477b-92e6-c3c15b8b8232" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083100Z:1141223d-45c4-477b-92e6-c3c15b8b8232" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: AD00BB05B2694D86BF99852D75A91ED5 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:00Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:00 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+21": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "28" ], - "x-ms-client-request-id": [ "fb725bf3-9c66-4a58-af2c-4a507386431c" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "67fe3770-924b-4ab8-a845-744ab3c1122a" ], - "x-ms-correlation-request-id": [ "6a9225c2-a11e-459c-be14-8572113b39e0" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083106Z:6a9225c2-a11e-459c-be14-8572113b39e0" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: A85C7DA1A92F44FEAAC990FE92DC6502 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:06Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:05 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+22": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "29" ], - "x-ms-client-request-id": [ "4e8ddc22-1ee2-4542-802a-01a01b4e8c0e" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "4f710b0a-4bf0-4ced-b501-5f31ffcadd7c" ], - "x-ms-correlation-request-id": [ "9a51e61b-b319-482c-96b9-975e016e3f02" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083111Z:9a51e61b-b319-482c-96b9-975e016e3f02" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 643E2F3724424AC3BB45B4E5E55EBD74 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:11Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:11 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+23": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "30" ], - "x-ms-client-request-id": [ "f71c3925-5400-4f35-99db-57e32eefa1a6" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "ae9f5db4-08f7-48bf-8da9-256150a94472" ], - "x-ms-correlation-request-id": [ "ce101196-7959-467c-bb47-7f6b14832510" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083116Z:ce101196-7959-467c-bb47-7f6b14832510" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: F3151EAD396E423FB633035F06725233 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:16Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:16 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+24": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "31" ], - "x-ms-client-request-id": [ "0340e187-4576-4741-a183-944972cc2c6b" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "7214d58b-842b-409a-af91-25e14b36da4b" ], - "x-ms-correlation-request-id": [ "1336f924-5613-44b7-89e0-72f970051686" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083122Z:1336f924-5613-44b7-89e0-72f970051686" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 9191012847E143218C48C632F1C83C5C Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:21Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:21 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+25": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "32" ], - "x-ms-client-request-id": [ "a7465c27-2753-4d26-ab18-62e3f6ab5025" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "d247a8dd-1044-4941-afe6-36b2ea48b03b" ], - "x-ms-correlation-request-id": [ "67665425-ffad-4baa-a2ba-6680d16bc896" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083127Z:67665425-ffad-4baa-a2ba-6680d16bc896" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 5EA41162E1AB42E8A5C5D9726044D557 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:27Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:26 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+26": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "33" ], - "x-ms-client-request-id": [ "b9b0ebb4-9bbc-447d-80ff-9e6de7828b4b" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"9000849f-0000-0100-0000-65dd9da70000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "ca602ed4-797a-4180-bc9e-c108a2850fe6" ], - "x-ms-correlation-request-id": [ "47f7e445-91e8-4e89-9878-7299f04f6166" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083132Z:47f7e445-91e8-4e89-9878-7299f04f6166" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: F81A3057AD2747AAA679D7E6456EC3F8 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:32Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:32 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+27": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "34" ], - "x-ms-client-request-id": [ "a388fd93-0f0b-4046-90a7-ccc5b94d7b22" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "8e6bd187-7001-435d-97e0-02646d6e6176" ], - "x-ms-correlation-request-id": [ "fa973e39-9209-4319-97ab-82dbdcc203a1" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083138Z:fa973e39-9209-4319-97ab-82dbdcc203a1" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: FD2A9FE2CC33405485B7FF8809802C95 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:37Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:37 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+28": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "35" ], - "x-ms-client-request-id": [ "738fa953-a084-49cf-aea7-77861cd7c068" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "7da99ff3-38a9-4770-918d-9e175cd99c99" ], - "x-ms-correlation-request-id": [ "08f9197a-60e7-42cd-a4e4-86f43434246a" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083143Z:08f9197a-60e7-42cd-a4e4-86f43434246a" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: FF25DC05D2FD49E89B7CDE27745EDB98 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:43Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:42 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+29": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "36" ], - "x-ms-client-request-id": [ "f058cfd0-5660-409d-8efa-89e38244e764" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "3dd7bf8b-e018-4dda-8836-dbe374e9d416" ], - "x-ms-correlation-request-id": [ "12865ba2-8b7b-429e-a3f7-71be96042d49" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083148Z:12865ba2-8b7b-429e-a3f7-71be96042d49" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: FF70070851CA412882CFDBA174BFF612 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:48Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:48 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+30": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "37" ], - "x-ms-client-request-id": [ "46b1a038-00d6-48c8-bb35-1f0269de194c" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "da672f99-3ed5-4323-9b9f-28dd4a997554" ], - "x-ms-correlation-request-id": [ "97d5df28-4649-437e-beb1-ed921288e79c" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083154Z:97d5df28-4649-437e-beb1-ed921288e79c" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: CBC56A14BD5F4006BAD2D5EE9EE247E1 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:53Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:53 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+31": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "38" ], - "x-ms-client-request-id": [ "c5387604-778f-42b6-9eff-3e948441077f" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "88774303-7633-4919-9a79-cea407934f35" ], - "x-ms-correlation-request-id": [ "8edd78b9-329d-46fa-99c7-6467337662ab" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083159Z:8edd78b9-329d-46fa-99c7-6467337662ab" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B6512FE8541A417686A022E74DF07F98 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:31:59Z" ], - "Date": [ "Tue, 27 Feb 2024 08:31:58 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+32": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "39" ], - "x-ms-client-request-id": [ "500bea95-360f-4b92-93a5-d6a90aebc2fc" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "cc98b4a0-19c0-497d-a621-939245607d68" ], - "x-ms-correlation-request-id": [ "2a04ab3b-3968-411f-a0d7-2b76d9ff6365" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083204Z:2a04ab3b-3968-411f-a0d7-2b76d9ff6365" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 85DE90EEE74A442694B18408C0BDF93B Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:04Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:04 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+33": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "40" ], - "x-ms-client-request-id": [ "f25d2153-fb18-47c9-9283-d6cd03107b59" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "0a1d6469-1352-4147-9200-fd734abfce65" ], - "x-ms-correlation-request-id": [ "4528487f-9e9d-488b-857d-655a57b2490d" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083209Z:4528487f-9e9d-488b-857d-655a57b2490d" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: EEDC6FB436FE4634B6527796D7224466 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:09Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:09 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+34": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "41" ], - "x-ms-client-request-id": [ "068b4e52-97ad-4b7f-a72a-f7c84f352b5a" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "f950a51f-9fae-4ba6-ac7b-b7dd45d5429a" ], - "x-ms-correlation-request-id": [ "bab53a41-3b18-486a-a296-ba08007f688a" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083215Z:bab53a41-3b18-486a-a296-ba08007f688a" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 79961F098F2A4F57AC54224C723E04F6 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:15Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:14 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+35": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "42" ], - "x-ms-client-request-id": [ "046f6768-0995-4b13-ac9b-49eef82b2f18" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90009ba1-0000-0100-0000-65dd9de80000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "360bb180-2651-45d1-ba42-57362a9c254e" ], - "x-ms-correlation-request-id": [ "dfad6bfe-b10d-4031-8c4b-c5aad13e88cd" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083220Z:dfad6bfe-b10d-4031-8c4b-c5aad13e88cd" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 1F2D8EFC6D1F4F9F86453AEE33C4A834 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:20Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:19 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1169" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":715},\"progressPercentage\":10}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+36": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "43" ], - "x-ms-client-request-id": [ "de8f8dee-6561-472e-a29e-46de682a25ca" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "69b832ec-1de4-4e07-b22b-4a85e3e5903a" ], - "x-ms-correlation-request-id": [ "c6ac0b93-a1af-4e35-a78b-448b0831d3ee" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083225Z:c6ac0b93-a1af-4e35-a78b-448b0831d3ee" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: D6BF6897EC5F4302ACACD1F0579C2541 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:25Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:25 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+37": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "44" ], - "x-ms-client-request-id": [ "39dccb5c-ef7a-487b-a579-03590e2c73d2" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "42ebe2a9-085a-451e-a0e7-d5e14204e1e4" ], - "x-ms-correlation-request-id": [ "4aa458b5-b6ca-496d-85a4-b3a7605c2618" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083231Z:4aa458b5-b6ca-496d-85a4-b3a7605c2618" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B4051553FE2E42E5B5E675E2E1A829E6 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:30Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:30 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+38": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "45" ], - "x-ms-client-request-id": [ "e22c5616-709a-43f1-a624-bcaf5ffc968a" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "9e4c6352-00cc-4d9e-9370-b408b21a3b5c" ], - "x-ms-correlation-request-id": [ "d6b8056b-47de-4514-88cf-f6c46a662140" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083236Z:d6b8056b-47de-4514-88cf-f6c46a662140" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: E6B26EC92C3F4C6AA07EAD82E5AB4F08 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:36Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:35 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+39": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "46" ], - "x-ms-client-request-id": [ "d9adb136-31d9-45fe-a106-4b88ba4d7d51" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "fdc870c1-1ed6-46f6-9e42-1c4af5ad83c7" ], - "x-ms-correlation-request-id": [ "92ec12ee-e43f-413b-864d-e5c85e2cfbc6" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083241Z:92ec12ee-e43f-413b-864d-e5c85e2cfbc6" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: E2365ED8A2A24665981D67861BF44AA2 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:41Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:41 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+40": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "47" ], - "x-ms-client-request-id": [ "37e26f5c-d989-4852-863b-6b9d6899b402" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "a41a3313-d22f-4d45-af61-0445f9f05aee" ], - "x-ms-correlation-request-id": [ "a6a2d505-85ca-4ffb-bfaa-b1be487083df" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083247Z:a6a2d505-85ca-4ffb-bfaa-b1be487083df" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0E7929E8051A45578F3BC6675D39841B Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:46Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:46 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+41": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "48" ], - "x-ms-client-request-id": [ "998af0ae-ac9e-4370-a329-74d602b2afe6" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "8a17530a-b21c-4370-af27-e4be747c094a" ], - "x-ms-correlation-request-id": [ "676f3458-7bea-4b06-8150-ffd24ae31bf2" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083252Z:676f3458-7bea-4b06-8150-ffd24ae31bf2" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3759C24515FF4D0DAD2DCF947555518F Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:52Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:51 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+42": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "49" ], - "x-ms-client-request-id": [ "0913843d-168f-4104-85ba-aa2d57a27b7f" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "5578f61b-a93b-40df-9a35-6bf69a05ad13" ], - "x-ms-correlation-request-id": [ "e00c0fb5-097f-4b30-9643-5620e73a5f67" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083257Z:e00c0fb5-097f-4b30-9643-5620e73a5f67" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: EE7412FA033248948C5D17EBF8A9F731 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:32:57Z" ], - "Date": [ "Tue, 27 Feb 2024 08:32:56 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+43": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "50" ], - "x-ms-client-request-id": [ "2089c284-8510-43bc-9750-38525829418f" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "16ee23a1-74d5-49d5-9bc0-9faa5c685f00" ], - "x-ms-correlation-request-id": [ "46d6fc10-72a2-440a-82ed-afb09cef9c13" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083302Z:46d6fc10-72a2-440a-82ed-afb09cef9c13" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 134F39CFA00C4BF28D5E242A87F6C621 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:02Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:02 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+44": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "51" ], - "x-ms-client-request-id": [ "b912dc4f-bd96-4af1-9d2e-a522b1e5c3f5" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "ff6ae564-31bb-4471-abbd-741fec2e3266" ], - "x-ms-correlation-request-id": [ "27256a1e-c0c9-40e4-a63e-23c0537b1433" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083308Z:27256a1e-c0c9-40e4-a63e-23c0537b1433" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: E78D749DFD9B48038D10687FEEE08865 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:08Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:07 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+45": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "52" ], - "x-ms-client-request-id": [ "6619a0d6-63ba-4276-b54d-38aeecf26a83" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "eefc1869-1bba-44b8-a9e3-c694d0cc5e7b" ], - "x-ms-correlation-request-id": [ "5bd5089f-3a65-455a-9213-1f672c168943" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083313Z:5bd5089f-3a65-455a-9213-1f672c168943" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: EB241889398F48C9AD37EB1C851EBD34 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:13Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:12 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+46": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "53" ], - "x-ms-client-request-id": [ "466f42ef-330b-4f88-940c-508e74870f2a" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083318Z:f0d4e034-5b70-4913-9498-4b2a13a99e84" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "b8c89c93-e8e7-4584-9a49-22bd302261c9" ], - "x-ms-correlation-request-id": [ "f0d4e034-5b70-4913-9498-4b2a13a99e84" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 44720921DDA54A57911E2F1D36898234 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:18Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:18 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+47": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "54" ], - "x-ms-client-request-id": [ "d337db2b-45a8-4c29-b79b-05a913d5cc7d" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "059f8b5e-e20d-47e9-89b5-fb1493fba2cd" ], - "x-ms-correlation-request-id": [ "8ead0e4a-6183-4c22-9594-1e5fd57cce85" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083324Z:8ead0e4a-6183-4c22-9594-1e5fd57cce85" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0BB9B567FB01404DA9F599EA59F6A1E5 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:23Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:23 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+48": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "55" ], - "x-ms-client-request-id": [ "5880fdd0-bc01-41af-b20c-de8a9e8846ae" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "663b99c9-6268-4dd6-b8cb-ca877823c6c3" ], - "x-ms-correlation-request-id": [ "8f8d63b1-567f-448c-af71-2472333166b4" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083329Z:8f8d63b1-567f-448c-af71-2472333166b4" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 93E33BBD16364D6DB1E212F0354089EA Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:29Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:28 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+49": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "56" ], - "x-ms-client-request-id": [ "68e1cf28-edbc-4bb4-8757-26a7e90a5284" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"90005ba3-0000-0100-0000-65dd9e190000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "4ec8f6a0-c98c-4461-9687-9372bf426232" ], - "x-ms-correlation-request-id": [ "9c2beaeb-a177-41a1-9a07-237cc22d997b" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083334Z:9c2beaeb-a177-41a1-9a07-237cc22d997b" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 4B54A51905224C9AA843B385896C225F Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:34Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:34 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1106" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+50": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "57" ], - "x-ms-client-request-id": [ "29a6bacb-ed73-40e0-8c48-2f034fa9c3bf" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900035a5-0000-0100-0000-65dd9e620000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "c48a9a55-0d75-4bc0-a334-bfa21b21e910" ], - "x-ms-correlation-request-id": [ "5d84ffea-de01-41a5-a860-88a5fdb49309" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083340Z:5d84ffea-de01-41a5-a860-88a5fdb49309" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 6439E4CE11AD48A0A796D61049DC3AB5 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:39Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:39 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":1493},\"progressPercentage\":21}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+51": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "58" ], - "x-ms-client-request-id": [ "27321a17-c358-4482-bf96-8c0c7dc2fee6" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900035a5-0000-0100-0000-65dd9e620000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "4b8cdacf-d50c-4704-b43d-804eed8ea9b9" ], - "x-ms-correlation-request-id": [ "01c2a9c4-6649-4729-994f-d04ac54c6ad2" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083345Z:01c2a9c4-6649-4729-994f-d04ac54c6ad2" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 66132010478C4D43ACC6847EA5F3596B Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:45Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:44 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":1493},\"progressPercentage\":21}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+52": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "59" ], - "x-ms-client-request-id": [ "28ae0d6d-123a-4fc1-9282-0acfc6243d66" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "d6e65656-ef84-447c-bc34-2be3baf650a2" ], - "x-ms-correlation-request-id": [ "5f8118ab-6cc7-4c03-b22c-096b465a62d5" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083350Z:5f8118ab-6cc7-4c03-b22c-096b465a62d5" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: EF9767380B394C0F8F08D612C48115F2 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:50Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:49 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+53": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "60" ], - "x-ms-client-request-id": [ "35d5a358-fd99-42b7-8b44-45cc64f92eb5" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "21ef1f7d-24c0-4afe-b737-92eff7487b4b" ], - "x-ms-correlation-request-id": [ "97044781-a524-4180-a471-a9804c5e9d74" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083355Z:97044781-a524-4180-a471-a9804c5e9d74" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 346A2AD741FE466DBDE98C7AD1F14BBC Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:33:55Z" ], - "Date": [ "Tue, 27 Feb 2024 08:33:55 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+54": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "61" ], - "x-ms-client-request-id": [ "6e64284b-fb20-4042-974f-f666e1c1c166" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "dc6f22b6-16ad-4228-930e-6b6ff9ee04b4" ], - "x-ms-correlation-request-id": [ "7f674db1-e3d2-4564-af9f-fab34d336523" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083401Z:7f674db1-e3d2-4564-af9f-fab34d336523" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 7EFD72447D1946AF8AEF053FB903AEB1 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:01Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:00 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+55": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "62" ], - "x-ms-client-request-id": [ "e7387a5d-0a55-453c-a92e-ef22063feeb2" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "a0607752-c829-44cb-a66e-688c6aee2e36" ], - "x-ms-correlation-request-id": [ "2ca8a835-03fa-4a82-b0cb-ec02a135ca70" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083406Z:2ca8a835-03fa-4a82-b0cb-ec02a135ca70" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 5C8BC366FA724A028B6120C6EFFCC261 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:06Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:05 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+56": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "63" ], - "x-ms-client-request-id": [ "d01e353f-bc83-45b0-8ebf-6887cca9d3d4" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "25e7c1ce-af79-45dd-955c-7367e4cb9b11" ], - "x-ms-correlation-request-id": [ "e7249e07-8baa-4864-bd57-9f8a5cdc1164" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083411Z:e7249e07-8baa-4864-bd57-9f8a5cdc1164" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 68F76ED8F2944451A3003B950EB91348 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:11Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:11 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+57": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "64" ], - "x-ms-client-request-id": [ "a359c17b-7084-4850-baa1-b17648d595b7" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "8fa525f3-b723-4b49-bec8-c1884697b678" ], - "x-ms-correlation-request-id": [ "66b77fc7-8c7e-44c4-945d-3c930d99c7b4" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083417Z:66b77fc7-8c7e-44c4-945d-3c930d99c7b4" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: CED87350025A4A169755DBC43DE1618C Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:16Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:16 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+58": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "65" ], - "x-ms-client-request-id": [ "1ee55af6-83c6-4c87-a276-036cc80fc967" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "a6e4781c-f8a1-42eb-8892-a8a1bcdc1832" ], - "x-ms-correlation-request-id": [ "81ad79ef-b103-4d0e-bd1d-f53c76838c98" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083422Z:81ad79ef-b103-4d0e-bd1d-f53c76838c98" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: A99C65B4B4204D53AE9A854AAAAF1606 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:22Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:21 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+59": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "66" ], - "x-ms-client-request-id": [ "35acd6d0-0f23-455c-acf3-25e189e5f791" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "6413d62f-1661-4bd3-8dbc-de072a1e6b0c" ], - "x-ms-correlation-request-id": [ "6a46f8e3-ae4f-4f5c-b2c4-36cdaf899c15" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083427Z:6a46f8e3-ae4f-4f5c-b2c4-36cdaf899c15" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 82530240FC5243A7B7EDF05BE98FB434 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:27Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:26 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+60": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "67" ], - "x-ms-client-request-id": [ "3e1908ef-4f83-4d58-8e94-e30ac1412528" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "6c058127-38bc-4857-abf6-37ef2c26a6b4" ], - "x-ms-correlation-request-id": [ "c56a8aeb-dbdc-4085-815d-f2833473dd39" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083432Z:c56a8aeb-dbdc-4085-815d-f2833473dd39" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 7E8E225FBE57415A980D38F76CDB800D Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:32Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:32 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+61": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "68" ], - "x-ms-client-request-id": [ "3918439f-528c-4e23-9aa8-a11122d2a112" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "b55e3f91-fef8-4b14-99e8-39da13bae79f" ], - "x-ms-correlation-request-id": [ "c7cde3e5-3e30-48a4-a80d-be22404938db" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083438Z:c7cde3e5-3e30-48a4-a80d-be22404938db" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0957439AD0BB46AA86034962E12AB9BB Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:38Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:37 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+62": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "69" ], - "x-ms-client-request-id": [ "2d5e4fee-f4e1-4d06-ae4b-313522b5f430" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "0d3e5499-48aa-4428-9d9c-132c06def817" ], - "x-ms-correlation-request-id": [ "5e870df6-e54b-4c9d-9d8b-687031e138ab" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083443Z:5e870df6-e54b-4c9d-9d8b-687031e138ab" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 2FA6781AF788496CBBAD6E3AB59DB92C Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:43Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:42 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+63": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "70" ], - "x-ms-client-request-id": [ "65e30a31-0c48-49cf-ae3c-633f8b9d8866" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "df5c1383-0dd1-43e5-ad9a-32416144f7c2" ], - "x-ms-correlation-request-id": [ "5e9fea0a-0d21-42d4-ae47-4ba11408a64e" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083448Z:5e9fea0a-0d21-42d4-ae47-4ba11408a64e" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 28E9D7066F24492D937052EFCEDA2044 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:48Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:48 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+64": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "71" ], - "x-ms-client-request-id": [ "678eda83-2243-4139-a8fe-90ed72ea5c42" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "ffefe8e5-6a6f-4635-9949-ed90606942b8" ], - "x-ms-correlation-request-id": [ "20a128ee-8ae7-4567-b139-2b3f87a90f61" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083454Z:20a128ee-8ae7-4567-b139-2b3f87a90f61" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0B472A5C03BD464B9079297E70FE28E3 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:53Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:53 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+65": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "72" ], - "x-ms-client-request-id": [ "e91385d9-b87e-4814-a5a3-b17ec4ca7426" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "1be5235d-2141-4704-bb91-29a45b9e1ab3" ], - "x-ms-correlation-request-id": [ "45ad5835-e404-4eaa-b03f-44e42fac43b5" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083459Z:45ad5835-e404-4eaa-b03f-44e42fac43b5" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 02F44D15B3E44EA0B487EED6090DF3F2 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:34:59Z" ], - "Date": [ "Tue, 27 Feb 2024 08:34:58 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+66": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "73" ], - "x-ms-client-request-id": [ "53a4e5ea-ae2a-4439-8cec-79ca46e1fe07" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "1d43feee-833e-4c1f-b13d-59f27ac2adb2" ], - "x-ms-correlation-request-id": [ "f091f0d8-15ee-42e7-a93d-cf8ec0be3319" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083504Z:f091f0d8-15ee-42e7-a93d-cf8ec0be3319" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: BB41AA723CE548DE8272D5A7EB166AA1 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:04Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:03 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+67": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "74" ], - "x-ms-client-request-id": [ "89585c4f-49d9-4d70-8ef8-c55aabfa9acb" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "6f78fded-a2da-414f-a97e-b290ea216141" ], - "x-ms-correlation-request-id": [ "d1c41728-abdb-41eb-b9fd-f21df87a37fb" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083509Z:d1c41728-abdb-41eb-b9fd-f21df87a37fb" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 19D96C465B1B496095EF41C822EAEED6 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:09Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:09 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+68": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "75" ], - "x-ms-client-request-id": [ "36ed0e16-96d4-49b4-aa2e-3ed7ed1bb591" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "a58e8014-2b3b-4078-98db-aa42ce40982c" ], - "x-ms-correlation-request-id": [ "71e50fb6-bff4-4ded-84b0-5c75c68596e9" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083515Z:71e50fb6-bff4-4ded-84b0-5c75c68596e9" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 8E44F1D55C7B48B1A13FFD8530043CE3 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:15Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:14 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+69": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "76" ], - "x-ms-client-request-id": [ "359736bc-fbb2-405d-a617-6ad41a2c97da" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "2dc84ccc-cc3f-4948-8955-de6176489e53" ], - "x-ms-correlation-request-id": [ "84144802-c1c3-424d-9f54-c99ba05b67f6" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083520Z:84144802-c1c3-424d-9f54-c99ba05b67f6" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: F9AC54749D944C41B3559CD21B784A86 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:20Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:19 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+70": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "77" ], - "x-ms-client-request-id": [ "5d902dec-a0bc-49ab-899e-c4b58b253533" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900088a5-0000-0100-0000-65dd9e6b0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "91270604-5c6f-438f-b9a3-afa237c9f3d1" ], - "x-ms-correlation-request-id": [ "9a93ecb5-3aba-41c9-8309-5606bf062d34" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083525Z:9a93ecb5-3aba-41c9-8309-5606bf062d34" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: FCA094FA7DD54BB2A18D93573378D67B Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:25Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:25 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+71": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "78" ], - "x-ms-client-request-id": [ "1222057b-e153-44e8-a888-51b1cdbc67d3" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "9692f408-bc0a-4835-a37a-650f4d9c0cfb" ], - "x-ms-correlation-request-id": [ "cf7e6b9a-86a9-481d-a483-b2d9addbdd0f" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083531Z:cf7e6b9a-86a9-481d-a483-b2d9addbdd0f" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 51DAB355601C41558BB29E35D1626301 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:30Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:30 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+72": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "79" ], - "x-ms-client-request-id": [ "7cf5f8a0-0924-41a2-9e68-9e09680efca3" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "ce55a76f-0407-4289-8c5f-46b043d0bb80" ], - "x-ms-correlation-request-id": [ "4a07e849-526c-4287-8aa8-fc7977555f35" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083536Z:4a07e849-526c-4287-8aa8-fc7977555f35" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 9411D2A3571D4E36973E54B5A2442DB4 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:36Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:35 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+73": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "80" ], - "x-ms-client-request-id": [ "ef70aa19-1023-4e39-9c4d-0d28c8ce1b12" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "25406335-8883-4666-9309-43861ea32576" ], - "x-ms-correlation-request-id": [ "1c554bcd-3c34-45c7-952e-bbedb8154631" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083541Z:1c554bcd-3c34-45c7-952e-bbedb8154631" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 7FA990BFA12B4643AA74F7730BC9EC73 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:41Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:40 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+74": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "81" ], - "x-ms-client-request-id": [ "96e5f90d-76b2-441b-a3fd-b83ef7b105ee" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "d1d6fcfd-e4d7-4c98-b95f-457bcb3341a6" ], - "x-ms-correlation-request-id": [ "8d3ee0cd-9a59-4904-91ab-b5433e57d4f9" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083547Z:8d3ee0cd-9a59-4904-91ab-b5433e57d4f9" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: E136A9E7D3664E99B00B466D13D430DC Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:46Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:46 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+75": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "82" ], - "x-ms-client-request-id": [ "7a4ff23c-6323-4751-9d15-f152e014d62e" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "7b60cf82-01ea-4709-84f9-6f669694032d" ], - "x-ms-correlation-request-id": [ "75e00b81-7896-443d-8fb6-51679865f3da" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083552Z:75e00b81-7896-443d-8fb6-51679865f3da" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0C1B90F62BDC42BC8BE4528521F077E3 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:52Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:51 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+76": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "83" ], - "x-ms-client-request-id": [ "6ff41f5d-4836-4c3c-aa12-16ec406fc06b" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "2e4842f2-dc1d-4356-9180-0964d17f07cc" ], - "x-ms-correlation-request-id": [ "e26b1d8e-07de-423e-b245-005a682b6b3e" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083558Z:e26b1d8e-07de-423e-b245-005a682b6b3e" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 01FD500A19D74492A0DED58BA6D21DEF Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:35:57Z" ], - "Date": [ "Tue, 27 Feb 2024 08:35:57 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+77": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "84" ], - "x-ms-client-request-id": [ "10d9bb53-7390-4827-a71f-a4e770dce023" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "05318ff4-5897-4c43-8ed5-83cf89470625" ], - "x-ms-correlation-request-id": [ "f7bbacb5-3f98-4080-9811-e2992cab8492" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083603Z:f7bbacb5-3f98-4080-9811-e2992cab8492" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 67DA38849CD544E1990B2976D07DAFC4 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:03Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:02 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+78": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "85" ], - "x-ms-client-request-id": [ "1025a328-afb8-4725-a840-8e49cb4f60a1" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "20446a9e-c52b-4d05-b4a1-47c960ddda99" ], - "x-ms-correlation-request-id": [ "1c530d73-aa8b-438c-b5ab-ef02a05ac77c" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083608Z:1c530d73-aa8b-438c-b5ab-ef02a05ac77c" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0765994856304DFF94D4D59069BCDC7B Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:08Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:07 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+79": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "86" ], - "x-ms-client-request-id": [ "d73ab73b-a7cd-4795-97b6-c8357db2731a" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900029a8-0000-0100-0000-65dd9ece0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11996" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "dddfdeb9-6266-471f-b2cd-3fafdf0f9f92" ], - "x-ms-correlation-request-id": [ "e2a8d413-3e86-4454-9f88-498459ae7114" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083613Z:e2a8d413-3e86-4454-9f88-498459ae7114" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 5835E8E780FB49CA997A0069E9F5A54F Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:13Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:13 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1170" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+80": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "87" ], - "x-ms-client-request-id": [ "b37359c9-989a-4c13-947b-066fda608d83" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900078aa-0000-0100-0000-65dd9eff0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "35e68433-1950-456a-b73d-8e3a917761ee" ], - "x-ms-correlation-request-id": [ "5d3712f6-1078-4c87-b0e9-c348cfa016fe" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083619Z:5d3712f6-1078-4c87-b0e9-c348cfa016fe" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B968F6CAA2F84BE494DB966DB3FCA413 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:18Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:18 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1171" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+81": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "88" ], - "x-ms-client-request-id": [ "6537d131-64ef-49b0-8968-cbaa052dd710" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900078aa-0000-0100-0000-65dd9eff0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11995" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "45483941-d926-4f37-b5b6-09364a7718c7" ], - "x-ms-correlation-request-id": [ "188fb7eb-bdbc-4c24-954c-cae225be3b09" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083624Z:188fb7eb-bdbc-4c24-954c-cae225be3b09" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B3E7AE7818F54064951024A386AC3798 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:24Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:23 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1171" ], + "Content-Length": [ "584" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:55:00.7305217Z\",\"endTime\":\"2024-03-22T04:56:14.4983748Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+82": { + "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "89" ], - "x-ms-client-request-id": [ "fad41313-be66-4638-900a-422ae2a3ca8e" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "Authorization": [ "[Filtered]" ], + "x-ms-unique-id": [ "5" ], + "x-ms-client-request-id": [ "10e4fa3f-b699-4be5-92bf-d06967fe474f" ], + "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], + "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] }, "ContentHeaders": { } @@ -3884,124 +193,77 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"900078aa-0000-0100-0000-65dd9eff0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11996" ], + "ETag": [ "\"d6007886-0000-0100-0000-65fd0f6f0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "4dabd8a3-cc3b-4c50-ad85-46f25327c21d" ], - "x-ms-correlation-request-id": [ "b103b718-1301-4fc9-ac96-11d00b3528c8" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083629Z:b103b718-1301-4fc9-ac96-11d00b3528c8" ], + "x-ms-request-id": [ "adfb2da2-1b1f-4bb9-9d0e-1413e9461ad3" ], + "x-ms-correlation-request-id": [ "e5604454-07be-4e68-90d1-b5615dcf1006" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045633Z:e5604454-07be-4e68-90d1-b5615dcf1006" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 99C357E597F04D65B2546365FDA968E1 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:29Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:28 GMT" ] + "X-MSEdge-Ref": [ "Ref A: EB1689CB83FA463FBF31AAB9A97D5FF4 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:56:33Z" ], + "Date": [ "Fri, 22 Mar 2024 04:56:33 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1171" ], + "Content-Length": [ "1117" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:55:00.6523822Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:56:15.3905212Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+83": { + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+1": { "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, + "Method": "PUT", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"identifier\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"windowsserver\",\r\n \"sku\": \"2022-datacenter-azure-edition-core\"\r\n },\r\n \"version\": {\r\n \"name\": \"20348.1850.230906\"\r\n },\r\n \"osType\": \"Windows\"\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "90" ], - "x-ms-client-request-id": [ "e2c1f7b3-b468-48b3-9e47-bb1dca57a684" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] }, "ContentHeaders": { + "Content-Type": [ "application/json" ], + "Content-Length": [ "528" ] } }, "Response": { - "StatusCode": 200, + "StatusCode": 201, "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"900078aa-0000-0100-0000-65dd9eff0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "ETag": [ "\"63001134-0000-0100-0000-65fd0f820000\"" ], + "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "84dbfb55-6ea1-449b-94cf-39b5022a70a5" ], - "x-ms-correlation-request-id": [ "1b11567d-ddeb-48b4-9462-db885add7e6a" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083634Z:1b11567d-ddeb-48b4-9462-db885add7e6a" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: AB437FB5C76045099E0C31E5F86F76B6 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:34Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:34 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1171" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+84": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "91" ], - "x-ms-client-request-id": [ "8882153c-4a66-4d38-800c-b05e76ed4a5f" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900078aa-0000-0100-0000-65dd9eff0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "c8812f25-437a-480e-889d-7f8784c2bfc5" ], - "x-ms-correlation-request-id": [ "db758215-54fe-4f60-994f-c19044e73eb9" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083640Z:db758215-54fe-4f60-994f-c19044e73eb9" ], + "mise-correlation-id": [ "9edef779-a4ae-43d6-8817-718e86ce3612" ], + "x-ms-request-id": [ "f801216e-e9c2-4c61-a65f-6be7c0ffb0c8" ], + "x-ms-correlation-request-id": [ "8afb574e-4949-447d-9e96-0a01b8946499" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/69e66ebd-bde7-4eed-86ca-6e7ea9282845*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF?api-version=2024-01-01\u0026t=638466801953362615\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=WYoEfvZuu89WEUBBNu3qkgqhyprRbrkPhfCHwn3z_QHp_hw9wV0wo5Kxn50yt8ZgEJOQCl-5LadOTsH5X6YAU-KhAAy1NBmoUPT7x_uQBYPMYjx4UejvzSrOK6E54ZWIDK9TMETObNfHR7uXiRBF1Oh2jeU5SZ5nBA7xKw2qRJI92792-5R6Yt39WL3v3TOrLK64JJc0xEwWdUjrCieHsoosn_qkGoSsGHu9Ehgg7ccqTgoNvPWBUqhO3ymi302epSwDklA58oePDT7tQUqaovYFlyNxuO1NaCEQ_9TyGiAs6szda5Qi4rbUYJxPQTN2ywGmdF0e4xIRmTS02cRQxQ\u0026h=wgKNemH7d3CJD75lLbbVN7riiEiADtbAwvZfclKjhCg" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045635Z:8afb574e-4949-447d-9e96-0a01b8946499" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: C60D4C7B64CF431F8377E079D6A29885 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:40Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:39 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 264C5876CADC489CBF7CB01636A2A4E2 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:56:33Z" ], + "Date": [ "Fri, 22 Mar 2024 04:56:35 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1171" ], + "Content-Length": [ "1309" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T22:22:23.9144905Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:56:34.3365138Z\"},\"properties\":{\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}},\"name\":\"20348.1850.230906\"},\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"411657cd-a265-466c-baa5-f879ee4c3a81*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6292},\"progressPercentage\":100},\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"osType\":\"Windows\"}}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+85": { + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "92" ], - "x-ms-client-request-id": [ "474a1a8f-81cd-4a5c-a0e1-34486f492c8f" ], + "x-ms-unique-id": [ "7" ], + "x-ms-client-request-id": [ "7268bc6e-e040-48ee-a829-6cef38d169db" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4016,36 +278,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"900078aa-0000-0100-0000-65dd9eff0000\"" ], + "ETag": [ "\"6300c938-0000-0100-0000-65fd0fbd0000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "12327282-4ce4-4d8d-874f-2a5644136ee0" ], - "x-ms-correlation-request-id": [ "be65140b-3443-4825-b991-f83098d1407a" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083645Z:be65140b-3443-4825-b991-f83098d1407a" ], + "x-ms-request-id": [ "6ac64b11-b0d7-479c-ba34-360580cb1b19" ], + "x-ms-correlation-request-id": [ "895abb7f-5435-4a04-aa14-22c23c664041" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045735Z:895abb7f-5435-4a04-aa14-22c23c664041" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: CE286A5CC64D42DB86CAA12E48915138 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:45Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:44 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 817C879955ED43F6BB9960F7FD1333CC Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:35Z" ], + "Date": [ "Fri, 22 Mar 2024 04:57:35 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1171" ], + "Content-Length": [ "1307" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T08:28:22.6402888Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4299},\"progressPercentage\":61}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T22:22:23.9144905Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:56:34.3365138Z\"},\"properties\":{\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}},\"name\":\"20348.1850.230906\"},\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"411657cd-a265-466c-baa5-f879ee4c3a81*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6292},\"progressPercentage\":100},\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"osType\":\"Windows\"}}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+86": { + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "93" ], - "x-ms-client-request-id": [ "51bffb4c-db77-4c39-b189-c1aed8c2dbff" ], + "x-ms-unique-id": [ "8" ], + "x-ms-client-request-id": [ "280c1a8e-f1e0-47f7-b78f-894e066445d1" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4060,80 +322,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"900005ab-0000-0100-0000-65dd9f220000\"" ], + "ETag": [ "\"6300c938-0000-0100-0000-65fd0fbd0000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "eaa9cd29-18f8-4603-94d9-a18596fb7d9d" ], - "x-ms-correlation-request-id": [ "9b3fcc87-513f-49f3-b27d-35f586059f61" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083650Z:9b3fcc87-513f-49f3-b27d-35f586059f61" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 24B5F5B0DD7B4B04ADFD215C5C78B832 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:50Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:50 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "1331" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T08:36:50.0844021Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"08cb0302-e405-4650-98e7-36917830006d*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6400},\"progressPercentage\":100}}}", - "isContentBase64": false - } - }, - "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview+87": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2023-09-01-preview", - "Content": null, - "isContentBase64": false, - "Headers": { - "x-ms-unique-id": [ "94" ], - "x-ms-client-request-id": [ "2881c922-ebed-492f-9d05-aa5ac62e7187" ], - "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], - "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"900005ab-0000-0100-0000-65dd9f220000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "936eeccc-bc77-44a7-b85c-bfe3345de742" ], - "x-ms-correlation-request-id": [ "2a6a280d-44b6-4171-bff6-85d4e3506841" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083656Z:2a6a280d-44b6-4171-bff6-85d4e3506841" ], + "x-ms-request-id": [ "7f28a225-7b62-4937-be9d-cfe0a9d8d64a" ], + "x-ms-correlation-request-id": [ "8ca4cae4-7c04-4a55-bb60-cc1194d1f274" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045741Z:8ca4cae4-7c04-4a55-bb60-cc1194d1f274" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3D02DEF9376E4FAE92F2A8189E32BFF7 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:56Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:55 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 0183A75B5F6C4F6DB42F16293A343B48 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:40Z" ], + "Date": [ "Fri, 22 Mar 2024 04:57:40 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1331" ], + "Content-Length": [ "1307" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T08:36:50.0844021Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"08cb0302-e405-4650-98e7-36917830006d*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6400},\"progressPercentage\":100}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T22:22:23.9144905Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:56:34.3365138Z\"},\"properties\":{\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}},\"name\":\"20348.1850.230906\"},\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"411657cd-a265-466c-baa5-f879ee4c3a81*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6292},\"progressPercentage\":100},\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"osType\":\"Windows\"}}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages?api-version=2023-09-01-preview+1": { + "AzStackHCIVMImageNew+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "95" ], - "x-ms-client-request-id": [ "db6d46b2-38e9-4f91-ba73-07faae54cc66" ], + "x-ms-unique-id": [ "9" ], + "x-ms-client-request-id": [ "232ed06b-192e-4482-b026-17b7db1f4964" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMGalleryImage_List" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4148,35 +366,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-original-request-ids": [ "9942fdd3-8790-442c-9e4f-dc27a3113b2c", "bfd46fc7-a5c6-49dc-822d-aa497f8ccd4c", "c8ce42a0-308b-4c10-bf8e-ff35c9f12d5c", "0d1d360f-c75b-4d5e-b473-ff7f929a3df3", "02b7c021-fa49-4f2a-9f06-8ebd9ecffc86", "616aad19-8be1-4f74-9b3c-4ff55b44ac0b", "e5263078-9025-4e35-b078-dbcb6a8dcebf", "575d9c5b-109d-4eee-a432-903abc81fd42", "7049be2f-3277-437d-a845-96742c5d1089", "72d29a5d-02a7-429a-8700-9817ddcd5196" ], + "x-ms-original-request-ids": [ "397c3363-3f7f-4d11-8a0f-105a2c1d8b96", "8a41c751-1db6-4a19-bcc1-df0bca1aa71b", "f70c50c7-fbf7-4704-86a5-b2f3763ca692", "e477141d-564f-4593-8d7f-7c66f7e2970e", "2ee53075-d55c-4fc9-85cd-15e7e823a61f", "6db2679b-b1a0-4966-b971-6430a8cf95a7", "6e481f01-3948-4638-8e55-1f8ea56a948f", "4df23014-29b3-46cd-8d56-874d5d4f1258", "2bc772d7-1e50-4b9d-8afe-e804ae9534d0", "e4e68f50-bd4a-4d18-a0b3-4f74a7c5c8a9" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-request-id": [ "f4b780fc-3eda-435c-8b2d-56ad8ee32dea" ], - "x-ms-correlation-request-id": [ "f4b780fc-3eda-435c-8b2d-56ad8ee32dea" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083657Z:f4b780fc-3eda-435c-8b2d-56ad8ee32dea" ], + "x-ms-request-id": [ "32bd230a-b9e2-4272-a4bc-3e855e474998" ], + "x-ms-correlation-request-id": [ "32bd230a-b9e2-4272-a4bc-3e855e474998" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045742Z:32bd230a-b9e2-4272-a4bc-3e855e474998" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 782AEB6F907C47C1B62C539C7CE95313 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:56Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:56 GMT" ] + "X-MSEdge-Ref": [ "Ref A: D1222B7FEAA246CA92327E7766CCF2AB Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:41Z" ], + "Date": [ "Fri, 22 Mar 2024 04:57:42 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "4783" ], + "Content-Length": [ "7141" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryimages/rocky8\",\"name\":\"rocky8\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T18:24:54.0259076Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T21:45:49.4611227Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"2e727eab-51b0-4042-892e-cf1b42ad85ea*C2B37834E2545CD682C8AA317FDDDFBADED309AEEE6E4811C738138A0DAABCED\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryimages/suse15\",\"name\":\"suse15\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T19:27:09.8558256Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T21:45:50.2214707Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"393338cc-5408-4638-b967-8581ef60efd5*DF384C3E52C764F6E2C5BB161AD55BECACB2222445CBC2072287E95453F825A1\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0118-01\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\",\"name\":\"testImagevm0226\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:35:33.5866587Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:38:45.4895078Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"f2e1e26e-537c-4229-a5fa-4a0d05256748*8D9BB55FBEE593AA6760AFC74D14FE6CC89AAB6724F04CE89E94A8748009E9A8\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:25:45.2955444Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T08:29:21.645564Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\"}}]}", + "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryimages/rocky8\",\"name\":\"rocky8\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T18:24:54.0259076Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T21:45:49.4611227Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"2e727eab-51b0-4042-892e-cf1b42ad85ea*C2B37834E2545CD682C8AA317FDDDFBADED309AEEE6E4811C738138A0DAABCED\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryimages/suse15\",\"name\":\"suse15\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T19:27:09.8558256Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T21:45:50.2214707Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"393338cc-5408-4638-b967-8581ef60efd5*DF384C3E52C764F6E2C5BB161AD55BECACB2222445CBC2072287E95453F825A1\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0118-01\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\",\"name\":\"testImagevm0226\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:35:33.5866587Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:38:45.4895078Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"f2e1e26e-537c-4229-a5fa-4a0d05256748*8D9BB55FBEE593AA6760AFC74D14FE6CC89AAB6724F04CE89E94A8748009E9A8\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0229\",\"name\":\"testImagevm0229\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-29T19:59:01.2860355Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-29T20:00:14.2568976Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"43aec120-f077-4bfa-9af0-98d68e315c86*466E4D7C7FF30BBCC238FEF5D325E02FB1CD7F47F9F47A557492CEAAB5068498\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:55:00.6523822Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:56:15.3905212Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/img-pathuang-0305-01\",\"name\":\"img-pathuang-0305-01\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-12T20:56:13.787054Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-12T20:57:24.2903529Z\"},\"properties\":{\"provisioningState\":\"Failed\",\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"status\":{\"errorCode\":\"InvalidInput\",\"errorMessage\":\"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = Source for OS VirtualHardDisk empty: Invalid Input\",\"provisioningStatus\":{\"operationId\":\"b1468c94-59a5-40e9-9f83-22391df1bb84*67D3D73C2D791946E85C85C8D8B2954AECBAF07D668DCAFC4E40D52EE1AC217B\",\"status\":\"Failed\"},\"downloadStatus\":{}}}}]}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages?api-version=2023-09-01-preview+2": { + "AzStackHCIVMImageNew+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages?api-version=2024-01-01+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "96" ], - "x-ms-client-request-id": [ "8e0684fa-0f54-46c9-aac8-944066469ef0" ], + "x-ms-unique-id": [ "10" ], + "x-ms-client-request-id": [ "067f5d9d-dad4-4b06-8a4d-7c3298a680ae" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_List" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4191,35 +409,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-original-request-ids": [ "2cd582a7-f5bb-4189-9a61-f6a5087f6d74", "b392e578-3e74-496b-a614-73646659d923", "af2c07fd-be41-44c8-87c5-2ef4fbafd475", "449cf9c7-2648-41ef-a83e-f89052e78c1b", "e5f7f75b-f4e3-4551-8711-a9deb925fe68", "82c173cb-79e7-4063-8b7f-4bdf1041e78b", "27aa6e7c-0abc-47be-b14e-3316a27dc6b7", "1bf9d1bf-1e7f-4981-89ee-b842142ea985", "3264b729-0ba5-4c0f-a34c-311a3a7ed81c", "95f2a2e0-556a-4310-86ac-27539e6fd19d" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-request-id": [ "4c6b9d75-88e4-4bdf-bd72-711b016415de" ], - "x-ms-correlation-request-id": [ "4c6b9d75-88e4-4bdf-bd72-711b016415de" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083658Z:4c6b9d75-88e4-4bdf-bd72-711b016415de" ], + "x-ms-original-request-ids": [ "79fc49aa-7f7b-4234-a279-cdda89b821df", "e8ae95d4-3ad0-46ac-b72a-3c475c476f49", "36f870ce-5eb9-4b78-a89d-fa38b9dd18ce", "0f65965f-9830-44f5-84f7-6467bc2c175a", "be552a20-d8db-4a39-8d18-d4e3ed97d79d", "853ac905-14dc-4be5-9326-855413636a15", "67f83953-45b6-4f81-a5de-601978ebc5e1", "19dbec12-8f81-4f5a-9fa4-1139e4ab4d65", "50ca2e4e-e638-4162-a35d-ec60549ff89a", "a9e128a7-4301-4cd7-b6e1-ffdc279cf6a1" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-request-id": [ "dbc6ecf4-f52f-478f-a08b-6e843efbf0d3" ], + "x-ms-correlation-request-id": [ "dbc6ecf4-f52f-478f-a08b-6e843efbf0d3" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045743Z:dbc6ecf4-f52f-478f-a08b-6e843efbf0d3" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 68CA7EB1C5194C9D8DCCE473F9C60A44 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:57Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:57 GMT" ] + "X-MSEdge-Ref": [ "Ref A: CFA5A6F9CC5B43048F12DBAB0BE76B22 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:42Z" ], + "Date": [ "Fri, 22 Mar 2024 04:57:43 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "6469" ], + "Content-Length": [ "12024" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:28:22.6402888Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T08:36:50.0844021Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"08cb0302-e405-4650-98e7-36917830006d*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6400},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplacegalleryimages/winserver2022\",\"name\":\"winserver2022\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-02T22:04:12.7001222Z\",\"lastModifiedBy\":\"1412d89f-b8a8-4111-b4fd-e82905cbd85d\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-02T22:11:59.0462183Z\"},\"properties\":{\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"PutMarketplaceGalleryImageToBridgeFailed\",\"errorMessage\":\"Could not send the marketplace gallery image data to K8SBridge.\",\"provisioningStatus\":{\"status\":\"Failed\",\"operationId\":\"providers/Microsoft.AzureStackHCI/locations/EASTUS2EUAP/operationStatuses/ad195f85-44fe-4d2a-a391-b1e735f71cf8*3684149D0FFA19537E3151D1DA4213400171466D0CE3ED501C99E8B604BB77D2?api-version=2024-01-01\"}},\"osType\":\"Windows\",\"identifier\":{\"offer\":\"windowsserver\",\"publisher\":\"microsoftwindowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplacegalleryimages/winserver2022-2\",\"name\":\"winserver2022-2\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-02T22:13:03.4184579Z\",\"lastModifiedBy\":\"1412d89f-b8a8-4111-b4fd-e82905cbd85d\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-05T19:03:02.6966602Z\"},\"properties\":{\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"PutMarketplaceGalleryImageToBridgeFailed\",\"errorMessage\":\"Could not send the marketplace gallery image data to K8SBridge.\",\"provisioningStatus\":{\"status\":\"Failed\",\"operationId\":\"providers/Microsoft.AzureStackHCI/locations/EASTUS2EUAP/operationStatuses/943abcc1-b9f7-419d-968b-95a00aac87b8*355C6D59784CCB390C85869B5A8BB308572D611C5CD1A40AD44C216D6EE06F6A?api-version=2024-01-01\"}},\"osType\":\"Windows\",\"identifier\":{\"offer\":\"WindowsServer\",\"publisher\":\"MicrosoftWindowsServer\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/winServer2022Az-01\",\"name\":\"winServer2022Az-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T22:18:22.3725794Z\",\"lastModifiedBy\":\"pathuang@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-01-29T22:18:22.3725794Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"},\"provisioningState\":\"Failed\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/servercore\",\"name\":\"servercore\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T22:23:01.1910797Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T22:39:09.7361402Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"6724cad8-d769-409d-8ab8-2add47bbaacd*4D98CA960A8F21AFD9ACA583A57ACCEBD379485220FE775E750CD35B0C162A6F\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6396},\"progressPercentage\":100}}}]}", + "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpGalleryImage02292\",\"name\":\"testMkpGalleryImage02292\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-29T21:50:44.1535201Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-29T21:57:31.4972849Z\"},\"properties\":{\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"a730d4b6-498e-474d-9ebb-b35ed16d2421*CE6160A0A59B54F35D86CACD4BA63993CF092E023ABC5F2E3B860B0C06381103\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6912},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpGalleryImage02292invalid\",\"name\":\"testMkpGalleryImage02292invalid\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-29T21:59:36.9097658Z\",\"lastModifiedBy\":\"1412d89f-b8a8-4111-b4fd-e82905cbd85d\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-29T21:59:38.3373099Z\"},\"properties\":{\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"invalid\"},\"osType\":\"Windows\",\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"GenerateTokenFromEdgeMarketplaceServiceFailed\",\"errorMessage\":\"Failed to generate SAS token for the URN: microsoftwindowsserver:windowsserver. Status code: NotFound, Error details: {\\\"error\\\":{\\\"code\\\":\\\"NotFound\\\",\\\"message\\\":\\\"Resource not found.\\\",\\\"details\\\":[{\\\"code\\\":\\\"ResourceNotFound\\\",\\\"message\\\":\\\"Requested resource not found.\\\"}]}}\",\"provisioningStatus\":{\"status\":\"Failed\",\"operationId\":\"providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/56da8d67-2208-4e44-b7bf-7c9fc9414f1d*7F4D7D6F6330EA6D6BE5F3F6B445E01268B95CF8DC9E53F15C5D8034800468F7?api-version=2023-09-01-preview\"}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T22:22:23.9144905Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:56:34.3365138Z\"},\"properties\":{\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}},\"name\":\"20348.1850.230906\"},\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"411657cd-a265-466c-baa5-f879ee4c3a81*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6292},\"progressPercentage\":100},\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"osType\":\"Windows\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplacegalleryimages/winserver2022\",\"name\":\"winserver2022\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-02T22:04:12.7001222Z\",\"lastModifiedBy\":\"1412d89f-b8a8-4111-b4fd-e82905cbd85d\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-02T22:11:59.0462183Z\"},\"properties\":{\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"PutMarketplaceGalleryImageToBridgeFailed\",\"errorMessage\":\"Could not send the marketplace gallery image data to K8SBridge.\",\"provisioningStatus\":{\"status\":\"Failed\",\"operationId\":\"providers/Microsoft.AzureStackHCI/locations/EASTUS2EUAP/operationStatuses/ad195f85-44fe-4d2a-a391-b1e735f71cf8*3684149D0FFA19537E3151D1DA4213400171466D0CE3ED501C99E8B604BB77D2?api-version=2024-01-01\"}},\"osType\":\"Windows\",\"identifier\":{\"offer\":\"windowsserver\",\"publisher\":\"microsoftwindowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/winServer2022Az-01\",\"name\":\"winServer2022Az-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T22:18:22.3725794Z\",\"lastModifiedBy\":\"pathuang@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-01-29T22:18:22.3725794Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"},\"provisioningState\":\"Failed\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/servercore\",\"name\":\"servercore\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T22:23:01.1910797Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T22:39:09.7361402Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"6724cad8-d769-409d-8ab8-2add47bbaacd*4D98CA960A8F21AFD9ACA583A57ACCEBD379485220FE775E750CD35B0C162A6F\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6396},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/win11msen\",\"name\":\"win11msen\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"mkadam@ntdev.microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-08T04:27:01.4771006Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-08T04:42:04.3566196Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"windows11preview\",\"sku\":\"win11-22h2-avd-m365\"},\"version\":{\"name\":\"22621.382.220810\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"b781da7d-c401-46d4-9e24-7d3423cc7639*EF275909891F7CF73156C565854307FFEF183DA49FF186B2455AC4FAB0639C90\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":17451},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/img-pathuang-0305-01\",\"name\":\"img-pathuang-0305-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-12T22:47:00.2262885Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-12T23:03:16.8043662Z\"},\"properties\":{\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"217e5930-3989-4886-a9e8-236141450166*6430FBFD72F90B4CB2EE7CAB32102207571B75803163D40BD1793DD6EE1CC184\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":18188},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/img-pathuang-0319-01\",\"name\":\"img-pathuang-0319-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-19T18:14:07.2005875Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T18:30:08.0047385Z\"},\"properties\":{\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"1cfbf6ad-118e-4290-b4eb-e5584e7fd590*0B69F9B59D71CAAC06B14F4F1CE0EB50CA617D8E5B3DB93B9861A1929473F227\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":18024},\"progressPercentage\":100}}}]}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview+1": { + "AzStackHCIVMImageNew+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "97" ], - "x-ms-client-request-id": [ "44905d17-e837-4151-bd8f-6b403a5d9fb3" ], + "x-ms-unique-id": [ "11" ], + "x-ms-client-request-id": [ "b1b65646-990c-4731-8e39-4557b97de2a8" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4234,36 +452,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"820109dd-0000-0100-0000-65dd9d610000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11996" ], + "ETag": [ "\"d6007886-0000-0100-0000-65fd0f6f0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "e71d191d-a2b9-438c-8949-6652c9166173" ], - "x-ms-correlation-request-id": [ "23769d86-c51c-4573-8d7f-2436eb7ef08c" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083659Z:23769d86-c51c-4573-8d7f-2436eb7ef08c" ], + "x-ms-request-id": [ "cebc8862-0636-415b-9af3-7b6205496412" ], + "x-ms-correlation-request-id": [ "f8dd64ae-5f1c-4c78-a437-cc8508ce7612" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045744Z:f8dd64ae-5f1c-4c78-a437-cc8508ce7612" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 020233B9657745E3802ED73B39EEB095 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:59Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:58 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 3D38AAEA08DF406596756B138F11BC52 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:44Z" ], + "Date": [ "Fri, 22 Mar 2024 04:57:43 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1281" ], + "Content-Length": [ "1117" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T08:25:45.2955444Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T08:29:21.645564Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4b79d642-383f-4fde-be86-b349cc29d492*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0109\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:55:00.6523822Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:56:15.3905212Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview+1": { + "AzStackHCIVMImageNew+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01+1": { "Request": { "Method": "DELETE", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "99" ], - "x-ms-client-request-id": [ "d4dbd0a5-93f9-42bb-bca3-99ca2ed9a033" ], + "x-ms-unique-id": [ "13" ], + "x-ms-client-request-id": [ "d59bd9d8-b56d-44fe-8530-54491a7861aa" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Remove-AzStackHCIVMGalleryImage_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4278,21 +496,21 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"83011f08-0000-0100-0000-65dd9f2c0000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446198207446552\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=QYR_aBgiqPbofXGIcNNLc9OHzgY4Rj9FgbrxCriVEYewvWN6L9bVVrR39RS5yBYVIZ8i6E0fmcZrY7g8RiC4HRvTDYYQ_qZNOL3OByC-m2QwEjIuijSGMvZFczmKIKXQi0yc4zdFGJ2wJvK0zM2Xh2t7cWBWxEmhTwBCK9j28b344kqjbeMNnpV_pXUPovnc2kSpku-qWPFe9_BlH0wmO4tMjkhhf9uOT6PT2E-d-GEoeiniSfMPRnIVRirsuqX-2rUeotrKUR8sWUHtPCBo8VnBPZT2-rT3sS2j6PCOGd9c1wZDEMOmqPjpPS4n6afnXAHBLZJeHuJtJLEMW32h1g\u0026h=j92-sK2_e2RQOIbr3sAEVOfYsqn6Y2AeuIY4cibwM_k" ], + "ETag": [ "\"d6002094-0000-0100-0000-65fd0fc90000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653401412\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=4Va-TF1tG6HvdanrUZu6oRLd6226ZVb-zBUc4X8HWKddRku4HGmvHOCeaAsZaZsERqYy7EfJ7KC2Y3zQo9Bs2-biC305mqN8Rgi2jGi-LwNcfKpN00KqU6Lous48eOmfmAElxiuespZLd38rqvJwl_HluS93AphE02DOaTYCWBYOMjbvSssCtu2XPkwdm_MsuV3lJhhf_8QsK6LVT2msK1ACTRZDc3NwosU11VI_T2WDXsgUydjRMquQNjSxwg3jdk65-JmLUg2S5yf-iykT1NFF6Q1QU-VSWn4QUIH1p5EcvlYq8qVGNsBa7PK77EpUZhJ-EbaycNY8oWAWL2U_LA\u0026h=J7hmc6Wtrf-OoD7dWx7G8z0TlyKcUP7pAb5e-3mkD-0" ], "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "d731c2b9-1dab-4450-b50c-09117831991f" ], + "mise-correlation-id": [ "8e9acad2-c4e5-4c3c-a316-9ef632a5a0fd" ], "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], + "x-azure-ref": [ "20240322T045744Z-bax5hsq2g97q95y9a3grfb7ya000000001dg00000000gsu8" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0LJ/dZQAAAABoQ9owbFptSZ0gAP72qPHQTU5aMjIxMDYwNjE0MDA5ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446198207446552\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=QYR_aBgiqPbofXGIcNNLc9OHzgY4Rj9FgbrxCriVEYewvWN6L9bVVrR39RS5yBYVIZ8i6E0fmcZrY7g8RiC4HRvTDYYQ_qZNOL3OByC-m2QwEjIuijSGMvZFczmKIKXQi0yc4zdFGJ2wJvK0zM2Xh2t7cWBWxEmhTwBCK9j28b344kqjbeMNnpV_pXUPovnc2kSpku-qWPFe9_BlH0wmO4tMjkhhf9uOT6PT2E-d-GEoeiniSfMPRnIVRirsuqX-2rUeotrKUR8sWUHtPCBo8VnBPZT2-rT3sS2j6PCOGd9c1wZDEMOmqPjpPS4n6afnXAHBLZJeHuJtJLEMW32h1g\u0026h=j92-sK2_e2RQOIbr3sAEVOfYsqn6Y2AeuIY4cibwM_k" ], - "x-ms-correlation-request-id": [ "90fe55d8-01ee-4ef0-8737-7e00a3fe8c66" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083700Z:90fe55d8-01ee-4ef0-8737-7e00a3fe8c66" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc" ], + "x-ms-correlation-request-id": [ "345776ea-18c0-4760-9799-051bf47b55da" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045745Z:345776ea-18c0-4760-9799-051bf47b55da" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: DAA9FEC74C9B431881EE905F4F005681 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:36:59Z" ], - "Date": [ "Tue, 27 Feb 2024 08:36:59 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 49BC7915206643578748C678D196BD82 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:44Z" ], + "Date": [ "Fri, 22 Mar 2024 04:57:45 GMT" ] }, "ContentHeaders": { "Content-Length": [ "4" ], @@ -4303,16 +521,16 @@ "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446198207446552\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=QYR_aBgiqPbofXGIcNNLc9OHzgY4Rj9FgbrxCriVEYewvWN6L9bVVrR39RS5yBYVIZ8i6E0fmcZrY7g8RiC4HRvTDYYQ_qZNOL3OByC-m2QwEjIuijSGMvZFczmKIKXQi0yc4zdFGJ2wJvK0zM2Xh2t7cWBWxEmhTwBCK9j28b344kqjbeMNnpV_pXUPovnc2kSpku-qWPFe9_BlH0wmO4tMjkhhf9uOT6PT2E-d-GEoeiniSfMPRnIVRirsuqX-2rUeotrKUR8sWUHtPCBo8VnBPZT2-rT3sS2j6PCOGd9c1wZDEMOmqPjpPS4n6afnXAHBLZJeHuJtJLEMW32h1g\u0026h=j92-sK2_e2RQOIbr3sAEVOfYsqn6Y2AeuIY4cibwM_k+2": { + "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446198207446552\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=QYR_aBgiqPbofXGIcNNLc9OHzgY4Rj9FgbrxCriVEYewvWN6L9bVVrR39RS5yBYVIZ8i6E0fmcZrY7g8RiC4HRvTDYYQ_qZNOL3OByC-m2QwEjIuijSGMvZFczmKIKXQi0yc4zdFGJ2wJvK0zM2Xh2t7cWBWxEmhTwBCK9j28b344kqjbeMNnpV_pXUPovnc2kSpku-qWPFe9_BlH0wmO4tMjkhhf9uOT6PT2E-d-GEoeiniSfMPRnIVRirsuqX-2rUeotrKUR8sWUHtPCBo8VnBPZT2-rT3sS2j6PCOGd9c1wZDEMOmqPjpPS4n6afnXAHBLZJeHuJtJLEMW32h1g\u0026h=j92-sK2_e2RQOIbr3sAEVOfYsqn6Y2AeuIY4cibwM_k", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "100" ], - "x-ms-client-request-id": [ "d4dbd0a5-93f9-42bb-bca3-99ca2ed9a033" ], + "x-ms-unique-id": [ "14" ], + "x-ms-client-request-id": [ "d59bd9d8-b56d-44fe-8530-54491a7861aa" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Remove-AzStackHCIVMGalleryImage_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4326,36 +544,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5e011610-0000-0100-0000-65dd9f4b0000\"" ], + "ETag": [ "\"6500e78c-0000-0100-0000-65fd0fcf0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "c496191c-bd9b-4b3a-98b5-7cff65e4ea05" ], - "x-ms-correlation-request-id": [ "2c1e4aff-136c-482d-a83d-dc8f8e3d81fc" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083731Z:2c1e4aff-136c-482d-a83d-dc8f8e3d81fc" ], + "x-ms-request-id": [ "a2d8bb71-e790-4827-9bc8-798c966ab2e2" ], + "x-ms-correlation-request-id": [ "1632091b-6290-4cd6-93f1-d6fd4d264977" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045815Z:1632091b-6290-4cd6-93f1-d6fd4d264977" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: BA1C024D1657456BB383FFE0B3BD4EEB Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:37:31Z" ], - "Date": [ "Tue, 27 Feb 2024 08:37:30 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C718030AFA994B5497F20110C175273F Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:15Z" ], + "Date": [ "Fri, 22 Mar 2024 04:58:15 GMT" ] }, "ContentHeaders": { "Content-Length": [ "573" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T08:37:00.1583629Z\",\"endTime\":\"2024-02-27T08:37:31.0113709Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:57:44.8444567Z\",\"endTime\":\"2024-03-22T04:57:51.8103383Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446198207446552\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=QYR_aBgiqPbofXGIcNNLc9OHzgY4Rj9FgbrxCriVEYewvWN6L9bVVrR39RS5yBYVIZ8i6E0fmcZrY7g8RiC4HRvTDYYQ_qZNOL3OByC-m2QwEjIuijSGMvZFczmKIKXQi0yc4zdFGJ2wJvK0zM2Xh2t7cWBWxEmhTwBCK9j28b344kqjbeMNnpV_pXUPovnc2kSpku-qWPFe9_BlH0wmO4tMjkhhf9uOT6PT2E-d-GEoeiniSfMPRnIVRirsuqX-2rUeotrKUR8sWUHtPCBo8VnBPZT2-rT3sS2j6PCOGd9c1wZDEMOmqPjpPS4n6afnXAHBLZJeHuJtJLEMW32h1g\u0026h=j92-sK2_e2RQOIbr3sAEVOfYsqn6Y2AeuIY4cibwM_k+3": { + "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2023-09-01-preview\u0026t=638446198207446552\u0026c=MIIHADCCBeigAwIBAgITfARnJNBquoML0OGeGQAABGck0DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMjAxMjAwMjM1WhcNMjUwMTI2MjAwMjM1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjcJSudd5JiagCaO5L0tH9LHCwY_7Ckh7DuLuAEwTMuo1Tb9GahjQRXuBukNCRgQ6f58Xor0k2pYaRt3RUtnt-CmojofFxsp-hrVyQDhP0xkJ5GIrmJ6tZJJFXgoHW5h43ftb6F88cdehlofXBbjpemGdtFpGaINH4e8DcZAt21iMn9yOr0Tmg-z_2Ixj-TaVP7ttPQcKYAo1eiepXwMCT-I4ty_aieF4Qk_MxoPqnnypdMzIThkixWJRCEQvpYHwnbQQw5uyPgEAxKjHjERG2nlO2EIX7lGH_1fEojEYKGj84-8gHXFveahRVa6ZPij7XMWfXQZWdo2aj6sMRX8UCAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQITL4rvpPHvyRi9mp1Xb66cjU50zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF9wsVY5GPv3eQNDdOO3pX2IJsz5n5bMuVN0DqeMoBkFFfk4UWmFDChWzbFNYlcFaVFC2RHGlRYoa4Shec_5_9qIkBA7MbjW1rd15-n3LCXGb_SUGAoJ2QjX_OAXbzgS4slLZCIe0zJCKCEvv7NUTzNo6MvpD3KUxAAbKf7XDOl8hHVDhpJxr64cDohqGiLjy7aI6A_zY5ZWzQLMCd_WxuXu6eEc_faoOML9lugh1NkAR2tvKevlf-S2xAELwFyE3Dbrf_JFOuvA8Ny7J5Y47A5GopbtZljdnMXkGfpUECKiaY_q2iLrlSyhK0925bX4zz3LLD903HZectExoCXSYb0\u0026s=QYR_aBgiqPbofXGIcNNLc9OHzgY4Rj9FgbrxCriVEYewvWN6L9bVVrR39RS5yBYVIZ8i6E0fmcZrY7g8RiC4HRvTDYYQ_qZNOL3OByC-m2QwEjIuijSGMvZFczmKIKXQi0yc4zdFGJ2wJvK0zM2Xh2t7cWBWxEmhTwBCK9j28b344kqjbeMNnpV_pXUPovnc2kSpku-qWPFe9_BlH0wmO4tMjkhhf9uOT6PT2E-d-GEoeiniSfMPRnIVRirsuqX-2rUeotrKUR8sWUHtPCBo8VnBPZT2-rT3sS2j6PCOGd9c1wZDEMOmqPjpPS4n6afnXAHBLZJeHuJtJLEMW32h1g\u0026h=j92-sK2_e2RQOIbr3sAEVOfYsqn6Y2AeuIY4cibwM_k", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "101" ], - "x-ms-client-request-id": [ "d4dbd0a5-93f9-42bb-bca3-99ca2ed9a033" ], + "x-ms-unique-id": [ "15" ], + "x-ms-client-request-id": [ "d59bd9d8-b56d-44fe-8530-54491a7861aa" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Remove-AzStackHCIVMGalleryImage_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4369,35 +587,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5e011610-0000-0100-0000-65dd9f4b0000\"" ], + "ETag": [ "\"6500e78c-0000-0100-0000-65fd0fcf0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "7082ec8a-9957-49bd-9511-ecee6642e2b1" ], - "x-ms-correlation-request-id": [ "26b56e89-466a-40a6-b2fb-c1e84851095a" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083731Z:26b56e89-466a-40a6-b2fb-c1e84851095a" ], + "x-ms-request-id": [ "f9c5d151-3ebb-4bcc-bb72-9362490ec4c6" ], + "x-ms-correlation-request-id": [ "2e46ecfd-561d-481f-82b1-e6be3a555a3d" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045816Z:2e46ecfd-561d-481f-82b1-e6be3a555a3d" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 69CCA0E41B3D4668A6A208B2E61E2E96 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:37:31Z" ], - "Date": [ "Tue, 27 Feb 2024 08:37:30 GMT" ] + "X-MSEdge-Ref": [ "Ref A: F77D621662E94F989CF26D54E169FA9D Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:16Z" ], + "Date": [ "Fri, 22 Mar 2024 04:58:15 GMT" ] }, "ContentHeaders": { "Content-Length": [ "573" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"8af7e3e3-f638-4272-b867-4dbab88b2a75*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T08:37:00.1583629Z\",\"endTime\":\"2024-02-27T08:37:31.0113709Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:57:44.8444567Z\",\"endTime\":\"2024-03-22T04:57:51.8103383Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview+4": { + "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "102" ], - "x-ms-client-request-id": [ "f0e54309-8950-4dda-87ac-b84d0d7b3726" ], + "x-ms-unique-id": [ "16" ], + "x-ms-client-request-id": [ "89b77cbb-5a30-494c-83f7-c802bd266b44" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4412,36 +630,34 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "031095d0-3dc6-4001-8476-bb8d7f5e28b2" ], - "x-ms-correlation-request-id": [ "93aead76-05f5-4440-b3bc-080188661b34" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083731Z:93aead76-05f5-4440-b3bc-080188661b34" ], + "x-ms-request-id": [ "b631ec54-4c57-4167-8656-dffeefe95932" ], + "x-ms-correlation-request-id": [ "b631ec54-4c57-4167-8656-dffeefe95932" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045816Z:b631ec54-4c57-4167-8656-dffeefe95932" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 8CF4083850114886B26F1E2C7FDA69AF Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:37:31Z" ], - "Date": [ "Tue, 27 Feb 2024 08:37:30 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 54E7323169A541AD8CF18ABDC0E09F82 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:16Z" ], + "Date": [ "Fri, 22 Mar 2024 04:58:15 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "138" ], - "Content-Type": [ "application/json" ], + "Content-Length": [ "237" ], + "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The resource \u0027Microsoft.AzureStackHCI/galleryImages/testImage1127-2\u0027 could not be found.\"}}", + "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The Resource \u0027Microsoft.AzureStackHCI/galleryImages/testImage1127-2\u0027 under resource group \u0027mkclus104-rg\u0027 was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"}}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testImage1127-2?api-version=2023-09-01-preview+5": { + "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testImage1127-2?api-version=2024-01-01+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testImage1127-2?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testImage1127-2?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "103" ], - "x-ms-client-request-id": [ "10095b03-232a-43b6-a1f3-78ee44880c83" ], + "x-ms-unique-id": [ "17" ], + "x-ms-client-request-id": [ "614ced0e-5c36-40f1-86cf-6f997b502920" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -4457,14 +673,14 @@ "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "ef229558-15da-40ba-a1e6-2d1a2df02ade" ], - "x-ms-correlation-request-id": [ "ef229558-15da-40ba-a1e6-2d1a2df02ade" ], - "x-ms-routing-request-id": [ "WESTUS:20240227T083732Z:ef229558-15da-40ba-a1e6-2d1a2df02ade" ], + "x-ms-request-id": [ "3f328a55-de58-4c7c-a62b-c39089fe46dd" ], + "x-ms-correlation-request-id": [ "3f328a55-de58-4c7c-a62b-c39089fe46dd" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T045816Z:3f328a55-de58-4c7c-a62b-c39089fe46dd" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 6C098F69B7704C15AE08E399ED986B19 Ref B: CO6AA3150220017 Ref C: 2024-02-27T08:37:31Z" ], - "Date": [ "Tue, 27 Feb 2024 08:37:31 GMT" ] + "X-MSEdge-Ref": [ "Ref A: DD70A43C103842DDB5396DCE9A6686EA Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:16Z" ], + "Date": [ "Fri, 22 Mar 2024 04:58:16 GMT" ] }, "ContentHeaders": { "Content-Length": [ "248" ], diff --git a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMNetworkInterface.Recording.json b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMNetworkInterface.Recording.json index 2efbab8871a9..5352e4ee64c0 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMNetworkInterface.Recording.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMNetworkInterface.Recording.json @@ -1,13 +1,13 @@ { - "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/altayllnet?api-version=2023-09-01-preview+1": { + "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/altayllnet?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/altayllnet?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/altayllnet?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "x-ms-unique-id": [ "1" ], - "x-ms-client-request-id": [ "59e38b95-90c4-4c7b-bbcb-b05c19f1d114" ], + "x-ms-client-request-id": [ "683bda8e-07c1-4929-a133-791f03438da5" ], "CommandName": [ "Az.StackHCIVM\\Get-AzStackHCIVMLogicalNetwork" ], "FullCommandName": [ "Get-AzStackHCIVMLogicalNetwork_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -22,31 +22,31 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"01003c8f-0000-3400-0000-65caa3f80000\"" ], + "ETag": [ "\"01009934-0000-3400-0000-65eaa0ff0000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "8d227a79-e7bc-4d10-b732-8a5b926a6592" ], - "x-ms-correlation-request-id": [ "e4c5c0f5-e0c0-4970-ac16-441dee973299" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062341Z:e4c5c0f5-e0c0-4970-ac16-441dee973299" ], + "x-ms-request-id": [ "d9361439-2cdc-420a-8920-2c9e26f2131f" ], + "x-ms-correlation-request-id": [ "393bd492-c564-4cce-8293-341dc13c1721" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050649Z:393bd492-c564-4cce-8293-341dc13c1721" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 60B6B68554CF41EBABB7BC5224761F2C Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:23:40Z" ], - "Date": [ "Tue, 27 Feb 2024 06:23:40 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 923687D7E1A045B894BCE81A1A912C2C Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:06:49Z" ], + "Date": [ "Fri, 22 Mar 2024 05:06:49 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "884" ], + "Content-Length": [ "882" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\",\"name\":\"altayllnet\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-07T20:16:32.951019Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-12T23:04:23.8799386Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\",\"name\":\"altayllnet\",\"type\":\"microsoft.azurestackhci/logicalnetworks\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-07T20:16:32.951019Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-08T05:24:14.72417Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"subnets\":[],\"vmSwitchName\":\"testswitch\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"dhcpOptions\":{}}}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview+2": { + "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$PUT+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01+2": { "Request": { "Method": "PUT", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01", "Content": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"ipConfigurations\": [\r\n {\r\n \"properties\": {\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", "isContentBase64": false, "Headers": { @@ -61,40 +61,40 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"0b013b24-0000-0100-0000-65dd7fef0000\"" ], + "ETag": [ "\"23022277-0000-0100-0000-65fd11ea0000\"" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "938bdb17-94b0-430e-906e-c166df9cc366" ], - "x-ms-request-id": [ "b370e29a-0521-4dc4-9e11-8b15e08d307c" ], - "x-ms-correlation-request-id": [ "c05f6cbf-25fe-43b2-9ea9-8fa80122d0a1" ], + "mise-correlation-id": [ "8b835fd6-f7a2-4ab3-b52d-02adb0e2b904" ], + "x-ms-request-id": [ "97415702-ddeb-4863-975a-4b7f600368a6" ], + "x-ms-correlation-request-id": [ "ac892cc1-d4ad-4955-9fc4-cf43fbd5b8e2" ], + "x-azure-ref": [ "20240322T050650Z-8zc7afmfbh4nm4ym2nu0f91gkg00000002qg000000006mak" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "07n/dZQAAAACrYkCXc4miTKcAmFJV0D2sTU5aMjIxMDYwNjE0MDIxADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062344Z:c05f6cbf-25fe-43b2-9ea9-8fa80122d0a1" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466808117118230\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NDl7pj2aDAArRIpGK0cmTfKlIw20xu-U5ankeJyKxif9LLboyvqC1qMB9kVmK36c0sAAYvN30VI-AW-8a3JqqIb55BgHlW5YyuyIZ0ZSsl2Z6_d-mpc4aouAfcrHJwy8npbWj-GONGdt9qzYW-8J8u_tVKJTBu2PNrv9bqXnVkEbfS1YaIZPrF42BB0rUiqqiJClaPJ-FJ0YlRVcveQbsXpGvb3jt-mzf8aLLVP14qX_Oa3xqoJsXKGn52Pf2S2NfPa5AMpVF1_St5KWbIIHNs-tnDzKCC3gFu26iX1eTpLDRFRiiYdGxNNuAqc-RhMkYX6vwsrZfRx_vxCL7hb2-w\u0026h=PhPvLE2de-bhq8jwvfkEiiP4Rx45f0hhDPl7V-UXImE" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050651Z:ac892cc1-d4ad-4955-9fc4-cf43fbd5b8e2" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 933FFB3431E049E4B63FE53B1356309E Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:23:41Z" ], - "Date": [ "Tue, 27 Feb 2024 06:23:43 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 06AB3E4961B14D81940BE142C601ED8C Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:06:49Z" ], + "Date": [ "Fri, 22 Mar 2024 05:06:51 GMT" ] }, "ContentHeaders": { "Content-Length": [ "981" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"name\":\"testnicPowershell0226\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:23:42.1692323Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:23:42.1692323Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}]}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"name\":\"testnicPowershell0226\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T05:06:50.4930684Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T05:06:50.4930684Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}]}}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw+3": { + "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466808117118230\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NDl7pj2aDAArRIpGK0cmTfKlIw20xu-U5ankeJyKxif9LLboyvqC1qMB9kVmK36c0sAAYvN30VI-AW-8a3JqqIb55BgHlW5YyuyIZ0ZSsl2Z6_d-mpc4aouAfcrHJwy8npbWj-GONGdt9qzYW-8J8u_tVKJTBu2PNrv9bqXnVkEbfS1YaIZPrF42BB0rUiqqiJClaPJ-FJ0YlRVcveQbsXpGvb3jt-mzf8aLLVP14qX_Oa3xqoJsXKGn52Pf2S2NfPa5AMpVF1_St5KWbIIHNs-tnDzKCC3gFu26iX1eTpLDRFRiiYdGxNNuAqc-RhMkYX6vwsrZfRx_vxCL7hb2-w\u0026h=PhPvLE2de-bhq8jwvfkEiiP4Rx45f0hhDPl7V-UXImE+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466808117118230\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NDl7pj2aDAArRIpGK0cmTfKlIw20xu-U5ankeJyKxif9LLboyvqC1qMB9kVmK36c0sAAYvN30VI-AW-8a3JqqIb55BgHlW5YyuyIZ0ZSsl2Z6_d-mpc4aouAfcrHJwy8npbWj-GONGdt9qzYW-8J8u_tVKJTBu2PNrv9bqXnVkEbfS1YaIZPrF42BB0rUiqqiJClaPJ-FJ0YlRVcveQbsXpGvb3jt-mzf8aLLVP14qX_Oa3xqoJsXKGn52Pf2S2NfPa5AMpVF1_St5KWbIIHNs-tnDzKCC3gFu26iX1eTpLDRFRiiYdGxNNuAqc-RhMkYX6vwsrZfRx_vxCL7hb2-w\u0026h=PhPvLE2de-bhq8jwvfkEiiP4Rx45f0hhDPl7V-UXImE", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "3" ], - "x-ms-client-request-id": [ "aaaf3ce6-c899-4562-b8e0-d8f792a34bd8" ], + "x-ms-client-request-id": [ "23001a45-0449-430d-98a0-32fb4a5f763d" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMNetworkInterface" ], "FullCommandName": [ "New-AzStackHCIVMNetworkInterface_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -108,36 +108,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a014555-0000-0100-0000-65dd7ff60000\"" ], + "ETag": [ "\"6600878a-0000-0100-0000-65fd11f20000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "5fe1db06-4580-4985-a65d-839c17850e67" ], - "x-ms-correlation-request-id": [ "26f22d5c-2d0f-428c-a667-c5826ca06db4" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062414Z:26f22d5c-2d0f-428c-a667-c5826ca06db4" ], + "x-ms-request-id": [ "8319bfe5-98f5-445d-b199-1f33cc84c8db" ], + "x-ms-correlation-request-id": [ "4bc4fd96-414a-4476-8edb-df4a4306221a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050722Z:4bc4fd96-414a-4476-8edb-df4a4306221a" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 8095ADA4C16448B4B84EF8F28D813632 Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:24:14Z" ], - "Date": [ "Tue, 27 Feb 2024 06:24:13 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 9FF45FAF6A27412382F705AED4C9A3EE Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:07:22Z" ], + "Date": [ "Fri, 22 Mar 2024 05:07:21 GMT" ] }, "ContentHeaders": { "Content-Length": [ "523" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:23:42.2428057Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T05:06:50.5869006Z\"}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw+4": { + "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466808117118230\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NDl7pj2aDAArRIpGK0cmTfKlIw20xu-U5ankeJyKxif9LLboyvqC1qMB9kVmK36c0sAAYvN30VI-AW-8a3JqqIb55BgHlW5YyuyIZ0ZSsl2Z6_d-mpc4aouAfcrHJwy8npbWj-GONGdt9qzYW-8J8u_tVKJTBu2PNrv9bqXnVkEbfS1YaIZPrF42BB0rUiqqiJClaPJ-FJ0YlRVcveQbsXpGvb3jt-mzf8aLLVP14qX_Oa3xqoJsXKGn52Pf2S2NfPa5AMpVF1_St5KWbIIHNs-tnDzKCC3gFu26iX1eTpLDRFRiiYdGxNNuAqc-RhMkYX6vwsrZfRx_vxCL7hb2-w\u0026h=PhPvLE2de-bhq8jwvfkEiiP4Rx45f0hhDPl7V-UXImE+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466808117118230\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NDl7pj2aDAArRIpGK0cmTfKlIw20xu-U5ankeJyKxif9LLboyvqC1qMB9kVmK36c0sAAYvN30VI-AW-8a3JqqIb55BgHlW5YyuyIZ0ZSsl2Z6_d-mpc4aouAfcrHJwy8npbWj-GONGdt9qzYW-8J8u_tVKJTBu2PNrv9bqXnVkEbfS1YaIZPrF42BB0rUiqqiJClaPJ-FJ0YlRVcveQbsXpGvb3jt-mzf8aLLVP14qX_Oa3xqoJsXKGn52Pf2S2NfPa5AMpVF1_St5KWbIIHNs-tnDzKCC3gFu26iX1eTpLDRFRiiYdGxNNuAqc-RhMkYX6vwsrZfRx_vxCL7hb2-w\u0026h=PhPvLE2de-bhq8jwvfkEiiP4Rx45f0hhDPl7V-UXImE", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "4" ], - "x-ms-client-request-id": [ "aaaf3ce6-c899-4562-b8e0-d8f792a34bd8" ], + "x-ms-client-request-id": [ "23001a45-0449-430d-98a0-32fb4a5f763d" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMNetworkInterface" ], "FullCommandName": [ "New-AzStackHCIVMNetworkInterface_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -151,36 +151,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a014555-0000-0100-0000-65dd7ff60000\"" ], + "ETag": [ "\"6600878a-0000-0100-0000-65fd11f20000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "3db224e6-53e9-4463-9f21-0d03161ef670" ], - "x-ms-correlation-request-id": [ "94a131d5-2b05-4e78-82e8-e52d92886eb4" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062444Z:94a131d5-2b05-4e78-82e8-e52d92886eb4" ], + "x-ms-request-id": [ "16b6fbb2-eadb-4ce3-94d2-b4b61d5027a9" ], + "x-ms-correlation-request-id": [ "2f9449be-0b5c-47b5-94b4-5c52b3f2dab1" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050752Z:2f9449be-0b5c-47b5-94b4-5c52b3f2dab1" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B9FC8569ABE647C586CD927BD8336989 Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:24:44Z" ], - "Date": [ "Tue, 27 Feb 2024 06:24:43 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 3B1D2EE1708D4C48A6E296809E881B9A Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:07:52Z" ], + "Date": [ "Fri, 22 Mar 2024 05:07:52 GMT" ] }, "ContentHeaders": { "Content-Length": [ "523" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:23:42.2428057Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T05:06:50.5869006Z\"}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw+5": { + "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466808117118230\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NDl7pj2aDAArRIpGK0cmTfKlIw20xu-U5ankeJyKxif9LLboyvqC1qMB9kVmK36c0sAAYvN30VI-AW-8a3JqqIb55BgHlW5YyuyIZ0ZSsl2Z6_d-mpc4aouAfcrHJwy8npbWj-GONGdt9qzYW-8J8u_tVKJTBu2PNrv9bqXnVkEbfS1YaIZPrF42BB0rUiqqiJClaPJ-FJ0YlRVcveQbsXpGvb3jt-mzf8aLLVP14qX_Oa3xqoJsXKGn52Pf2S2NfPa5AMpVF1_St5KWbIIHNs-tnDzKCC3gFu26iX1eTpLDRFRiiYdGxNNuAqc-RhMkYX6vwsrZfRx_vxCL7hb2-w\u0026h=PhPvLE2de-bhq8jwvfkEiiP4Rx45f0hhDPl7V-UXImE+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466808117118230\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NDl7pj2aDAArRIpGK0cmTfKlIw20xu-U5ankeJyKxif9LLboyvqC1qMB9kVmK36c0sAAYvN30VI-AW-8a3JqqIb55BgHlW5YyuyIZ0ZSsl2Z6_d-mpc4aouAfcrHJwy8npbWj-GONGdt9qzYW-8J8u_tVKJTBu2PNrv9bqXnVkEbfS1YaIZPrF42BB0rUiqqiJClaPJ-FJ0YlRVcveQbsXpGvb3jt-mzf8aLLVP14qX_Oa3xqoJsXKGn52Pf2S2NfPa5AMpVF1_St5KWbIIHNs-tnDzKCC3gFu26iX1eTpLDRFRiiYdGxNNuAqc-RhMkYX6vwsrZfRx_vxCL7hb2-w\u0026h=PhPvLE2de-bhq8jwvfkEiiP4Rx45f0hhDPl7V-UXImE", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "5" ], - "x-ms-client-request-id": [ "aaaf3ce6-c899-4562-b8e0-d8f792a34bd8" ], + "x-ms-client-request-id": [ "23001a45-0449-430d-98a0-32fb4a5f763d" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMNetworkInterface" ], "FullCommandName": [ "New-AzStackHCIVMNetworkInterface_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -194,36 +194,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a014555-0000-0100-0000-65dd7ff60000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "bab7003c-8def-4cb6-bde0-863708bfae53" ], - "x-ms-correlation-request-id": [ "b372a1c9-4e39-4f2d-859c-9b494fb9b84b" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062515Z:b372a1c9-4e39-4f2d-859c-9b494fb9b84b" ], + "ETag": [ "\"66001da7-0000-0100-0000-65fd122f0000\"" ], + "x-ms-ratelimit-remaining-tenant-reads": [ "11998" ], + "x-ms-request-id": [ "cdc0860d-9ac0-4f2e-b7dc-b32c15e5f958" ], + "x-ms-correlation-request-id": [ "f651bfa8-bad4-4174-b30f-51a4fef198ea" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050823Z:f651bfa8-bad4-4174-b30f-51a4fef198ea" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: AADA78E00293464080440A068EDDA69E Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:25:15Z" ], - "Date": [ "Tue, 27 Feb 2024 06:25:15 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 2568D1E5832E4E00A5CC7D48D5B83545 Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:08:23Z" ], + "Date": [ "Fri, 22 Mar 2024 05:08:22 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "523" ], + "Content-Length": [ "594" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:23:42.2428057Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"16c6bc39-2df1-4499-8c0e-0d6c7a01692c*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T05:06:50.5869006Z\",\"endTime\":\"2024-03-22T05:07:59.4248814Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw+6": { + "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01+6": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446118241224150\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=lfxpJdfxmG3FLInMpbBa4owkF_0Jdvol1XLV4v5nvuffM6LSFOQqDPH8EbNAVys7I7jtxYkyWnGFeCoWhgBDqDIFLGT501QUSBiLkysIysJx5iqDAO_wXeT7Kq-r4dXtcPK4Q6MBZelvzy6kyjzvpSget_p3Mlk6h_IXIJFSCdvbPh4CCfldlYJvIcgq1AJyY9F7-dHOFsxzTmVK6TX9vQaBkIpX0cnpcc827ydWBMpmJcQsNSJnmKjj_iP3cZxnLk7CW6uMwDRGUiqRTT1d_71F3Xn3xeZ3BkmBE2_RQ6Vx-51teRemY6sOW_xlm2EV16pt7sWArM1EBSInP7CeaA\u0026h=EMLRtMPR_mLLs5r7lTo6fBK25z6qIavud_FBeNQOdEw", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "6" ], - "x-ms-client-request-id": [ "aaaf3ce6-c899-4562-b8e0-d8f792a34bd8" ], + "x-ms-client-request-id": [ "23001a45-0449-430d-98a0-32fb4a5f763d" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMNetworkInterface" ], "FullCommandName": [ "New-AzStackHCIVMNetworkInterface_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -237,40 +237,41 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a012462-0000-0100-0000-65dd805c0000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "90371590-18f8-49b0-8ffb-7182170871b2" ], - "x-ms-correlation-request-id": [ "c44f82bc-8f93-482b-94ee-7c1ce9b7c849" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062545Z:c44f82bc-8f93-482b-94ee-7c1ce9b7c849" ], + "ETag": [ "\"230240a0-0000-0100-0000-65fd12300000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "ee7fbb8b-f623-4e4f-b8ef-bd247737b5af" ], + "x-ms-correlation-request-id": [ "3546a32d-7d11-4e58-9783-f806a629abea" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050823Z:3546a32d-7d11-4e58-9783-f806a629abea" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 65212E3CEBFF441792B9F0A361E45A8E Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:25:45Z" ], - "Date": [ "Tue, 27 Feb 2024 06:25:45 GMT" ] + "X-MSEdge-Ref": [ "Ref A: D7C4AED8442145DCB60BA158C2DBA0B7 Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:08:23Z" ], + "Date": [ "Fri, 22 Mar 2024 05:08:23 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "594" ], + "Content-Length": [ "857" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"f6fdb21a-d08c-44c6-af78-512f466b7169*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:23:42.2428057Z\",\"endTime\":\"2024-02-27T06:25:32.4216413Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"name\":\"testnicPowershell0226\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T05:06:50.4930684Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T05:08:00.2076396Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[],\"status\":{},\"dnsSettings\":{}}}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Create Network Interface +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview+7": { + "AzStackHCIVMNetworkInterface+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "7" ], - "x-ms-client-request-id": [ "aaaf3ce6-c899-4562-b8e0-d8f792a34bd8" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMNetworkInterface" ], - "FullCommandName": [ "New-AzStackHCIVMNetworkInterface_CreateExpanded" ], + "x-ms-client-request-id": [ "0d986a4b-69a9-4554-9601-621ec7e4941a" ], + "CommandName": [ "Get-AzStackHCIVMNetworkInterface" ], + "FullCommandName": [ "Get-AzStackHCIVMNetworkInterface_List" ], "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] }, "ContentHeaders": { } @@ -280,38 +281,37 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"0b01bd28-0000-0100-0000-65dd805c0000\"" ], + "x-ms-original-request-ids": [ "22b0d519-e9fc-4b53-9b31-64b26536244b", "e089f313-eb68-4f0a-8e76-baa6efa0fdf3", "be7795be-7099-44d5-a791-960618edd0a3", "2685bc52-c397-4923-9d1b-9699934d7cb8", "7618d5bd-225b-4035-b6ac-27d353bbda68", "fd7a14e0-8447-4563-a696-8a1f0690395f", "eed5a70b-1e63-49bb-9642-107648274f51", "4819e9e4-c992-4a22-9cc6-8a3b26c9c7c9", "2a6d3e44-6302-4170-bf97-92b1e6f50c5f", "0a89c1bf-8b4c-4efb-9f47-ad8bfb6d10f8" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "951858da-17a3-4f1d-aefe-99a8d4e60783" ], - "x-ms-correlation-request-id": [ "dbd9e7fb-72ed-4256-8b1b-542cb4aa6b2c" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062545Z:dbd9e7fb-72ed-4256-8b1b-542cb4aa6b2c" ], + "x-ms-request-id": [ "bc7b0d44-01b6-4fcd-9f88-98df2ffb5cfb" ], + "x-ms-correlation-request-id": [ "bc7b0d44-01b6-4fcd-9f88-98df2ffb5cfb" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050824Z:bc7b0d44-01b6-4fcd-9f88-98df2ffb5cfb" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 714BC84E26944C0CAE7B1ED7A0F05F33 Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:25:45Z" ], - "Date": [ "Tue, 27 Feb 2024 06:25:45 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 88DF85A3BCFE44F7879E57C28244C765 Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:08:23Z" ], + "Date": [ "Fri, 22 Mar 2024 05:08:24 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "836" ], + "Content-Length": [ "11268" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"name\":\"testnicPowershell0226\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:23:42.1692323Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:23:42.1692323Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[],\"status\":{},\"dnsSettings\":{}}}", + "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testnic\",\"name\":\"testnic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T19:00:53.5812419Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T23:43:14.3975226Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetwork/testlnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testnic3\",\"name\":\"testnic3\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T21:24:38.7030214Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T23:43:14.4002136Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetwork/testlnet3\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testnic4\",\"name\":\"testnic4\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T18:30:57.312146Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T23:44:08.7874659Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetwork/testlnet3\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"name\":\"testnicPowershell0226\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T05:06:50.4930684Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T05:08:00.2076396Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testdefaultnic\",\"name\":\"testdefaultnic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-07T20:19:31.9705294Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-16T03:48:40.4622627Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.73\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testcornernic\",\"name\":\"testcornernic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-08T20:34:58.153583Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-13T16:27:02.9076855Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.44\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testtimenic\",\"name\":\"testtimenic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-12T22:52:07.7590297Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-13T16:15:41.0006848Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.6\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testtimenic2\",\"name\":\"testtimenic2\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-12T23:03:05.7303454Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-12T23:05:23.7151387Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/mktest1nic\",\"name\":\"mktest1nic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"mkadam@ntdev.microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-08T05:01:40.8960353Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-08T05:05:48.4344119Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.19\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/mktest2nic\",\"name\":\"mktest2nic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"mkadam@ntdev.microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-08T05:23:05.4207783Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-09T01:35:49.927112Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.81\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalNetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/nic-pathuang-0319-01\",\"name\":\"nic-pathuang-0319-01\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"tag1\":\"031924\",\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-19T14:27:04.5468182Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T21:26:14.0203677Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.26\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/lnet-pathuang-0319-01\"}}}],\"status\":{},\"dnsSettings\":{}}}]}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+List+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces?api-version=2023-09-01-preview+1": { + "AzStackHCIVMNetworkInterface+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "x-ms-unique-id": [ "8" ], - "x-ms-client-request-id": [ "edc32d03-6805-4cdb-b4bd-54db4e4ff2f1" ], + "x-ms-client-request-id": [ "55593f90-44c6-49d1-a300-8c184a6fa963" ], "CommandName": [ "Get-AzStackHCIVMNetworkInterface" ], - "FullCommandName": [ "Get-AzStackHCIVMNetworkInterface_List" ], + "FullCommandName": [ "Get-AzStackHCIVMNetworkInterface_Get" ], "ParameterSetName": [ "__AllParameterSets" ], "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], "Authorization": [ "[Filtered]" ] @@ -324,37 +324,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-original-request-ids": [ "c75b5cc4-e47a-41fb-93b2-cf4778da9f15", "e646df0c-d962-40b5-9eea-ab405545c82b", "2b78a2f9-abd9-4bf7-85c1-fddfc4f0f750", "a72fc354-d003-4cbb-b0d3-21373a24732b", "ae29e233-1000-43a1-8307-c5fa0f285528", "39049953-0f6d-4dbc-a774-c520dd6f5b63", "2dd64125-e7f6-44e1-978c-bc533de30277", "e20a7d06-275d-40d1-8ab7-4a5e064ad8aa", "fbc528bf-d347-4879-9760-0b5c4c1063d8", "f18cc7e6-6960-4eea-8dbc-6eb7185256b5" ], + "ETag": [ "\"230240a0-0000-0100-0000-65fd12300000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-request-id": [ "f5b5e64f-0858-40b9-8888-94fd1099798b" ], - "x-ms-correlation-request-id": [ "f5b5e64f-0858-40b9-8888-94fd1099798b" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062547Z:f5b5e64f-0858-40b9-8888-94fd1099798b" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "60f4714c-0ca7-44da-97de-3e4f14c318e5" ], + "x-ms-correlation-request-id": [ "7c9836a8-1f50-449c-aa73-f8ca71f88776" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050824Z:7c9836a8-1f50-449c-aa73-f8ca71f88776" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B931AD3A0FD64466936F7A95A656FF3D Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:25:46Z" ], - "Date": [ "Tue, 27 Feb 2024 06:25:47 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 47644D0659BF4C4D8E3125F18FF0C565 Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:08:24Z" ], + "Date": [ "Fri, 22 Mar 2024 05:08:24 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "8040" ], + "Content-Length": [ "857" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testnic\",\"name\":\"testnic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T19:00:53.5812419Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T23:43:14.3975226Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetwork/testlnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testnic3\",\"name\":\"testnic3\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-24T21:24:38.7030214Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T23:43:14.4002136Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetwork/testlnet3\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testnic4\",\"name\":\"testnic4\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T18:30:57.312146Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T23:44:08.7874659Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetwork/testlnet3\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"name\":\"testnicPowershell0226\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:23:42.1692323Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:23:42.1692323Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testdefaultnic\",\"name\":\"testdefaultnic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-07T20:19:31.9705294Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-16T03:48:40.4622627Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.73\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testcornernic\",\"name\":\"testcornernic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-08T20:34:58.153583Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-13T16:27:02.9076855Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.44\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testtimenic\",\"name\":\"testtimenic\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-12T22:52:07.7590297Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-13T16:15:41.0006848Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"privateIPAddress\":\"10.200.230.6\",\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkinterfaces/testtimenic2\",\"name\":\"testtimenic2\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"altayl@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-12T23:03:05.7303454Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-12T23:05:23.7151387Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[{\"properties\":{\"subnet\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/logicalnetworks/altayllnet\"}}}],\"status\":{},\"dnsSettings\":{}}}]}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"name\":\"testnicPowershell0226\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T05:06:50.4930684Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T05:08:00.2076396Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[],\"status\":{},\"dnsSettings\":{}}}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview+1": { + "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01+1": { "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview", + "Method": "DELETE", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "x-ms-unique-id": [ "9" ], - "x-ms-client-request-id": [ "de8edfdd-0385-430a-b148-e4aa0b95be10" ], - "CommandName": [ "Get-AzStackHCIVMNetworkInterface" ], - "FullCommandName": [ "Get-AzStackHCIVMNetworkInterface_Get" ], + "x-ms-client-request-id": [ "06957df3-561a-41b4-a202-6b48fb167e71" ], + "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMNetworkInterface" ], + "FullCommandName": [ "Remove-AzStackHCIVMNetworkInterface_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], "Authorization": [ "[Filtered]" ] @@ -363,45 +364,49 @@ } }, "Response": { - "StatusCode": 200, + "StatusCode": 202, "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"0b01bd28-0000-0100-0000-65dd805c0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "ETag": [ "\"23028fae-0000-0100-0000-65fd12490000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809055829821\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=b5nD0bYXCkw61tv0_DVq292iQeBoQ89_dkqioKZt3plslsaXPhhbeSg-Nl7IuXVgpseHwmhfObcku1kvCgKyi_3nfYjGBlJNgjYgiy_T0ilSGLoaRzAjI8P6iAeFRtrMlxKxYc-9f1gnKHXYKcWwm6Sjgzll61F2fGk9jgk8Ym5LymmRC5TRhj84iuNDYpWg8EbGb5hcE_zLN6a-oSd7SyXWB_XZ412H1X23kyDndMwXeZUXmVsskdMsiUgRHxX4QQIXRiiQE0A0DLUZundQ_m2xFPpRmDyRYsCGGDjWxumx4PYYBDMqCY2-zO6_BW5q15NOdtIBPQ8mHHTEty92fQ\u0026h=yfMxuU2zqv3UmB96N4Gqd-IFU5jKT0sb3cqYdlOX1-o" ], + "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "2c62b85e-7fe2-4e46-9df5-b10551a5201f" ], - "x-ms-correlation-request-id": [ "7327104c-be93-485b-a9e3-b2fb4277c04d" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062547Z:7327104c-be93-485b-a9e3-b2fb4277c04d" ], + "mise-correlation-id": [ "a77ad589-b0e4-4a93-b803-f4b87948f441" ], + "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], + "x-azure-ref": [ "20240322T050825Z-axekhmss2t6y5f8fx9dn5g401c00000002gg00000001eezu" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809055829821\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=b5nD0bYXCkw61tv0_DVq292iQeBoQ89_dkqioKZt3plslsaXPhhbeSg-Nl7IuXVgpseHwmhfObcku1kvCgKyi_3nfYjGBlJNgjYgiy_T0ilSGLoaRzAjI8P6iAeFRtrMlxKxYc-9f1gnKHXYKcWwm6Sjgzll61F2fGk9jgk8Ym5LymmRC5TRhj84iuNDYpWg8EbGb5hcE_zLN6a-oSd7SyXWB_XZ412H1X23kyDndMwXeZUXmVsskdMsiUgRHxX4QQIXRiiQE0A0DLUZundQ_m2xFPpRmDyRYsCGGDjWxumx4PYYBDMqCY2-zO6_BW5q15NOdtIBPQ8mHHTEty92fQ\u0026h=yfMxuU2zqv3UmB96N4Gqd-IFU5jKT0sb3cqYdlOX1-o" ], + "x-ms-correlation-request-id": [ "2b9c0e70-cded-45ab-8002-dd666678e043" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050825Z:2b9c0e70-cded-45ab-8002-dd666678e043" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 993C31E73F07479FBC08FE946888EA9D Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:25:47Z" ], - "Date": [ "Tue, 27 Feb 2024 06:25:47 GMT" ] + "X-MSEdge-Ref": [ "Ref A: CEFAC578C58B4370A21CF6752BE235AE Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:08:24Z" ], + "Date": [ "Fri, 22 Mar 2024 05:08:25 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "836" ], + "Content-Length": [ "4" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"name\":\"testnicPowershell0226\",\"type\":\"microsoft.azurestackhci/networkinterfaces\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:23:42.1692323Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:23:42.1692323Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"ipConfigurations\":[],\"status\":{},\"dnsSettings\":{}}}", + "Content": "bnVsbA==", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview+1": { + "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809055829821\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=b5nD0bYXCkw61tv0_DVq292iQeBoQ89_dkqioKZt3plslsaXPhhbeSg-Nl7IuXVgpseHwmhfObcku1kvCgKyi_3nfYjGBlJNgjYgiy_T0ilSGLoaRzAjI8P6iAeFRtrMlxKxYc-9f1gnKHXYKcWwm6Sjgzll61F2fGk9jgk8Ym5LymmRC5TRhj84iuNDYpWg8EbGb5hcE_zLN6a-oSd7SyXWB_XZ412H1X23kyDndMwXeZUXmVsskdMsiUgRHxX4QQIXRiiQE0A0DLUZundQ_m2xFPpRmDyRYsCGGDjWxumx4PYYBDMqCY2-zO6_BW5q15NOdtIBPQ8mHHTEty92fQ\u0026h=yfMxuU2zqv3UmB96N4Gqd-IFU5jKT0sb3cqYdlOX1-o+2": { "Request": { - "Method": "DELETE", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview", + "Method": "GET", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809055829821\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=b5nD0bYXCkw61tv0_DVq292iQeBoQ89_dkqioKZt3plslsaXPhhbeSg-Nl7IuXVgpseHwmhfObcku1kvCgKyi_3nfYjGBlJNgjYgiy_T0ilSGLoaRzAjI8P6iAeFRtrMlxKxYc-9f1gnKHXYKcWwm6Sjgzll61F2fGk9jgk8Ym5LymmRC5TRhj84iuNDYpWg8EbGb5hcE_zLN6a-oSd7SyXWB_XZ412H1X23kyDndMwXeZUXmVsskdMsiUgRHxX4QQIXRiiQE0A0DLUZundQ_m2xFPpRmDyRYsCGGDjWxumx4PYYBDMqCY2-zO6_BW5q15NOdtIBPQ8mHHTEty92fQ\u0026h=yfMxuU2zqv3UmB96N4Gqd-IFU5jKT0sb3cqYdlOX1-o", "Content": null, "isContentBase64": false, "Headers": { + "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "10" ], - "x-ms-client-request-id": [ "334816a8-a478-44f2-82cb-731a416c40d0" ], + "x-ms-client-request-id": [ "06957df3-561a-41b4-a202-6b48fb167e71" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMNetworkInterface" ], "FullCommandName": [ "Remove-AzStackHCIVMNetworkInterface_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], - "Authorization": [ "[Filtered]" ] + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] }, "ContentHeaders": { } @@ -411,41 +416,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"0b016429-0000-0100-0000-65dd806c0000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446119489681462\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=brPBpdMFAEybnShafB9dfL9Sqo83VFmrtrWARDyWW4v6a_dnHdqm2FfjOOXP4u4N9WHBxaxB1F5pHNziBDuWkriD7pPtwnfBQdZiX9GI3mudnIgs4ED4xdPAvB_19ifJGu8JDMpjyPxFKONyOBM8jlkR-Hu-TxfH3l12AOp2SV0I9JLsKx3eduyMbse0H1JxFr8DmPmgEm6i2kWaxvOX3b4LjlFuORFvNio1WEHIiIRqe9i7SZNyDRGSVDALkf2NfQY_HWjgULiFa0PKAPn0TMch6VPgcBaxdqvTMuo24mmbrNBQY0crvSFpJMT1fQ1u3b9xV877ZGuC0Ohi6aBjRw\u0026h=Fy74gkiC_6M7FRPCfdLpSiFMG9soJykS5968p91tT1A" ], - "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062548Z:f17110ec-8302-435e-bf90-34fad5a81be2" ], - "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "63495e12-cbec-4bb4-b257-3f2c3dc272a6" ], - "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0bIDdZQAAAAB/Ggz7Sy3ORadXqyUfkO/bTU5aMjIxMDYwNjEzMDE3ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446119489681462\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=brPBpdMFAEybnShafB9dfL9Sqo83VFmrtrWARDyWW4v6a_dnHdqm2FfjOOXP4u4N9WHBxaxB1F5pHNziBDuWkriD7pPtwnfBQdZiX9GI3mudnIgs4ED4xdPAvB_19ifJGu8JDMpjyPxFKONyOBM8jlkR-Hu-TxfH3l12AOp2SV0I9JLsKx3eduyMbse0H1JxFr8DmPmgEm6i2kWaxvOX3b4LjlFuORFvNio1WEHIiIRqe9i7SZNyDRGSVDALkf2NfQY_HWjgULiFa0PKAPn0TMch6VPgcBaxdqvTMuo24mmbrNBQY0crvSFpJMT1fQ1u3b9xV877ZGuC0Ohi6aBjRw\u0026h=Fy74gkiC_6M7FRPCfdLpSiFMG9soJykS5968p91tT1A" ], - "x-ms-correlation-request-id": [ "f17110ec-8302-435e-bf90-34fad5a81be2" ], + "ETag": [ "\"660054b6-0000-0100-0000-65fd124f0000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809359002494\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fxAiaPaSjWjKP0lba7nRkEYjQN3QFkgxKdF9h6XXbv90Pw6EFcjv6uRJ99AKQWSpShTyoirkc7hKSIl4rh_EDVisgjU5L9ff6xfDtMZQhJx3viAtK0VDgsAHVGDfUEwPfnBiAH5nohAbE41bIfw_lS7vqe2shdqi1ExS7RLZpMpYJYALUku1xAFiY_jiG0pKc0_HzitqoL-4_yXiocL3pTwn3bhgRM3CBYVePPIeQmRG-hmu2fVeWWdE0-eC4eHzwuK2R7IEN3oXMjrWCeDVjjLonh5K7VE-yjvr_3b3Meu9vyYNvZDvKHomYbjCIRuIPfeOvtZDW5iuEWP47UKs3g\u0026h=qifVxD_zsCbgmmPNAdalP32-kbLKwNVybrBTF7pMeYU" ], + "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809358846264\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=0XV8soF16GOGmvMkRoJK1NUqjsJBOZDBqbFa-MOqI7duyJMi5GXQ0ydk0Ly6aKq0pH-eHlamZ8FT5T7cL4TYioJ7h9dffkBM6js7jhGJ_zYB8jbqQMiksKXABS6VlHC_Xs3pDKn2sJSPSeDCGTnjd-ZploP7fXi7mVOGxbqh6ztJPx38WOtxv1Kkh4YgU4SoHhWFNQPIWWcX3m2-LpNNU57OU8ScTxnYo486UxByv7EUdETlB_jsvZuetoPqM0hv6WJohmjOeCZIdznMNahfbMIUOF0c6ddmcxCCh-KKGTO6P9CtHA52JrMIcDbG_EpXxzoTq5_uo2TVFdn8x8eDLA\u0026h=7R6UGMr1eFsf71-uwWDyuWHhUjw8aQD8GBKLdrMflEc" ], + "x-ms-request-id": [ "6567dbcd-f4aa-4989-886e-5c07590af7f8" ], + "x-ms-correlation-request-id": [ "b54076f1-7530-4540-b00d-a1b014f60008" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050855Z:b54076f1-7530-4540-b00d-a1b014f60008" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: CE1CF5AFF7C549DDB807C45B8FD17FBB Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:25:48Z" ], - "Date": [ "Tue, 27 Feb 2024 06:25:48 GMT" ] + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 0DFE210F74E84AAC94A65828364939E2 Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:08:55Z" ], + "Date": [ "Fri, 22 Mar 2024 05:08:55 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "4" ], + "Content-Length": [ "523" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "bnVsbA==", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Deleting\",\"startTime\":\"2024-03-22T05:08:25.1568454Z\"}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446119489681462\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=brPBpdMFAEybnShafB9dfL9Sqo83VFmrtrWARDyWW4v6a_dnHdqm2FfjOOXP4u4N9WHBxaxB1F5pHNziBDuWkriD7pPtwnfBQdZiX9GI3mudnIgs4ED4xdPAvB_19ifJGu8JDMpjyPxFKONyOBM8jlkR-Hu-TxfH3l12AOp2SV0I9JLsKx3eduyMbse0H1JxFr8DmPmgEm6i2kWaxvOX3b4LjlFuORFvNio1WEHIiIRqe9i7SZNyDRGSVDALkf2NfQY_HWjgULiFa0PKAPn0TMch6VPgcBaxdqvTMuo24mmbrNBQY0crvSFpJMT1fQ1u3b9xV877ZGuC0Ohi6aBjRw\u0026h=Fy74gkiC_6M7FRPCfdLpSiFMG9soJykS5968p91tT1A+2": { + "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809358846264\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=0XV8soF16GOGmvMkRoJK1NUqjsJBOZDBqbFa-MOqI7duyJMi5GXQ0ydk0Ly6aKq0pH-eHlamZ8FT5T7cL4TYioJ7h9dffkBM6js7jhGJ_zYB8jbqQMiksKXABS6VlHC_Xs3pDKn2sJSPSeDCGTnjd-ZploP7fXi7mVOGxbqh6ztJPx38WOtxv1Kkh4YgU4SoHhWFNQPIWWcX3m2-LpNNU57OU8ScTxnYo486UxByv7EUdETlB_jsvZuetoPqM0hv6WJohmjOeCZIdznMNahfbMIUOF0c6ddmcxCCh-KKGTO6P9CtHA52JrMIcDbG_EpXxzoTq5_uo2TVFdn8x8eDLA\u0026h=7R6UGMr1eFsf71-uwWDyuWHhUjw8aQD8GBKLdrMflEc+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446119489681462\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=brPBpdMFAEybnShafB9dfL9Sqo83VFmrtrWARDyWW4v6a_dnHdqm2FfjOOXP4u4N9WHBxaxB1F5pHNziBDuWkriD7pPtwnfBQdZiX9GI3mudnIgs4ED4xdPAvB_19ifJGu8JDMpjyPxFKONyOBM8jlkR-Hu-TxfH3l12AOp2SV0I9JLsKx3eduyMbse0H1JxFr8DmPmgEm6i2kWaxvOX3b4LjlFuORFvNio1WEHIiIRqe9i7SZNyDRGSVDALkf2NfQY_HWjgULiFa0PKAPn0TMch6VPgcBaxdqvTMuo24mmbrNBQY0crvSFpJMT1fQ1u3b9xV877ZGuC0Ohi6aBjRw\u0026h=Fy74gkiC_6M7FRPCfdLpSiFMG9soJykS5968p91tT1A", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809358846264\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=0XV8soF16GOGmvMkRoJK1NUqjsJBOZDBqbFa-MOqI7duyJMi5GXQ0ydk0Ly6aKq0pH-eHlamZ8FT5T7cL4TYioJ7h9dffkBM6js7jhGJ_zYB8jbqQMiksKXABS6VlHC_Xs3pDKn2sJSPSeDCGTnjd-ZploP7fXi7mVOGxbqh6ztJPx38WOtxv1Kkh4YgU4SoHhWFNQPIWWcX3m2-LpNNU57OU8ScTxnYo486UxByv7EUdETlB_jsvZuetoPqM0hv6WJohmjOeCZIdznMNahfbMIUOF0c6ddmcxCCh-KKGTO6P9CtHA52JrMIcDbG_EpXxzoTq5_uo2TVFdn8x8eDLA\u0026h=7R6UGMr1eFsf71-uwWDyuWHhUjw8aQD8GBKLdrMflEc", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "11" ], - "x-ms-client-request-id": [ "334816a8-a478-44f2-82cb-731a416c40d0" ], + "x-ms-client-request-id": [ "06957df3-561a-41b4-a202-6b48fb167e71" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMNetworkInterface" ], "FullCommandName": [ "Remove-AzStackHCIVMNetworkInterface_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -459,36 +461,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a019e67-0000-0100-0000-65dd80880000\"" ], + "ETag": [ "\"6600e2c1-0000-0100-0000-65fd126c0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "633a617f-adec-44f2-b2a1-5fc5a06ddcdb" ], - "x-ms-correlation-request-id": [ "efb78f98-d23e-4aaa-a465-8422c1ba40d7" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062619Z:efb78f98-d23e-4aaa-a465-8422c1ba40d7" ], + "x-ms-request-id": [ "2c724fa8-0972-4ef1-8856-34c8edd37b3c" ], + "x-ms-correlation-request-id": [ "995e5ef8-4720-4e6c-8e89-ab2ccdd9002b" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050926Z:995e5ef8-4720-4e6c-8e89-ab2ccdd9002b" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: CF3F25FD1B964CB1BC28915169E79D7C Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:26:19Z" ], - "Date": [ "Tue, 27 Feb 2024 06:26:19 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 0E6CDB42F2C241A68E0FE29A05BE13A0 Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:09:26Z" ], + "Date": [ "Fri, 22 Mar 2024 05:09:25 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "582" ], + "Content-Length": [ "583" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:25:48.4994417Z\",\"endTime\":\"2024-02-27T06:26:16.168377Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T05:08:25.1568454Z\",\"endTime\":\"2024-03-22T05:09:00.4659255Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446119489681462\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=brPBpdMFAEybnShafB9dfL9Sqo83VFmrtrWARDyWW4v6a_dnHdqm2FfjOOXP4u4N9WHBxaxB1F5pHNziBDuWkriD7pPtwnfBQdZiX9GI3mudnIgs4ED4xdPAvB_19ifJGu8JDMpjyPxFKONyOBM8jlkR-Hu-TxfH3l12AOp2SV0I9JLsKx3eduyMbse0H1JxFr8DmPmgEm6i2kWaxvOX3b4LjlFuORFvNio1WEHIiIRqe9i7SZNyDRGSVDALkf2NfQY_HWjgULiFa0PKAPn0TMch6VPgcBaxdqvTMuo24mmbrNBQY0crvSFpJMT1fQ1u3b9xV877ZGuC0Ohi6aBjRw\u0026h=Fy74gkiC_6M7FRPCfdLpSiFMG9soJykS5968p91tT1A+3": { + "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809055829821\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=b5nD0bYXCkw61tv0_DVq292iQeBoQ89_dkqioKZt3plslsaXPhhbeSg-Nl7IuXVgpseHwmhfObcku1kvCgKyi_3nfYjGBlJNgjYgiy_T0ilSGLoaRzAjI8P6iAeFRtrMlxKxYc-9f1gnKHXYKcWwm6Sjgzll61F2fGk9jgk8Ym5LymmRC5TRhj84iuNDYpWg8EbGb5hcE_zLN6a-oSd7SyXWB_XZ412H1X23kyDndMwXeZUXmVsskdMsiUgRHxX4QQIXRiiQE0A0DLUZundQ_m2xFPpRmDyRYsCGGDjWxumx4PYYBDMqCY2-zO6_BW5q15NOdtIBPQ8mHHTEty92fQ\u0026h=yfMxuU2zqv3UmB96N4Gqd-IFU5jKT0sb3cqYdlOX1-o+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2023-09-01-preview\u0026t=638446119489681462\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=brPBpdMFAEybnShafB9dfL9Sqo83VFmrtrWARDyWW4v6a_dnHdqm2FfjOOXP4u4N9WHBxaxB1F5pHNziBDuWkriD7pPtwnfBQdZiX9GI3mudnIgs4ED4xdPAvB_19ifJGu8JDMpjyPxFKONyOBM8jlkR-Hu-TxfH3l12AOp2SV0I9JLsKx3eduyMbse0H1JxFr8DmPmgEm6i2kWaxvOX3b4LjlFuORFvNio1WEHIiIRqe9i7SZNyDRGSVDALkf2NfQY_HWjgULiFa0PKAPn0TMch6VPgcBaxdqvTMuo24mmbrNBQY0crvSFpJMT1fQ1u3b9xV877ZGuC0Ohi6aBjRw\u0026h=Fy74gkiC_6M7FRPCfdLpSiFMG9soJykS5968p91tT1A", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2?api-version=2024-01-01\u0026t=638466809055829821\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=b5nD0bYXCkw61tv0_DVq292iQeBoQ89_dkqioKZt3plslsaXPhhbeSg-Nl7IuXVgpseHwmhfObcku1kvCgKyi_3nfYjGBlJNgjYgiy_T0ilSGLoaRzAjI8P6iAeFRtrMlxKxYc-9f1gnKHXYKcWwm6Sjgzll61F2fGk9jgk8Ym5LymmRC5TRhj84iuNDYpWg8EbGb5hcE_zLN6a-oSd7SyXWB_XZ412H1X23kyDndMwXeZUXmVsskdMsiUgRHxX4QQIXRiiQE0A0DLUZundQ_m2xFPpRmDyRYsCGGDjWxumx4PYYBDMqCY2-zO6_BW5q15NOdtIBPQ8mHHTEty92fQ\u0026h=yfMxuU2zqv3UmB96N4Gqd-IFU5jKT0sb3cqYdlOX1-o", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "12" ], - "x-ms-client-request-id": [ "334816a8-a478-44f2-82cb-731a416c40d0" ], + "x-ms-client-request-id": [ "06957df3-561a-41b4-a202-6b48fb167e71" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMNetworkInterface" ], "FullCommandName": [ "Remove-AzStackHCIVMNetworkInterface_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -502,35 +504,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a019e67-0000-0100-0000-65dd80880000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "283c8620-827c-48ee-8ec7-257285ed7b48" ], - "x-ms-correlation-request-id": [ "3e0ce7b5-5199-4eee-b9e4-eb199fd97d00" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062619Z:3e0ce7b5-5199-4eee-b9e4-eb199fd97d00" ], + "ETag": [ "\"6600e2c1-0000-0100-0000-65fd126c0000\"" ], + "x-ms-ratelimit-remaining-tenant-reads": [ "11998" ], + "x-ms-request-id": [ "eb193861-8199-4fee-8ac6-1429d395bfca" ], + "x-ms-correlation-request-id": [ "bdcc4520-5803-4417-bda9-e7bab06a7292" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050926Z:bdcc4520-5803-4417-bda9-e7bab06a7292" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: D809FDBDFB094716BF317A81455767B7 Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:26:19Z" ], - "Date": [ "Tue, 27 Feb 2024 06:26:19 GMT" ] + "X-MSEdge-Ref": [ "Ref A: FA5EEF25BEDB415498E6119D745F608D Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:09:26Z" ], + "Date": [ "Fri, 22 Mar 2024 05:09:26 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "582" ], + "Content-Length": [ "583" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"77971d3f-021c-439f-bddd-279f12fa1893*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:25:48.4994417Z\",\"endTime\":\"2024-02-27T06:26:16.168377Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"name\":\"082396b7-db8e-4fa3-9da5-9db61f66b3ac*FFC58FBB228C9D733A29EF16B357782311F4113CD661C0725993D175B60062C2\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T05:08:25.1568454Z\",\"endTime\":\"2024-03-22T05:09:00.4659255Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview+4": { + "AzStackHCIVMNetworkInterface+[NoContext]+Delete+$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "x-ms-unique-id": [ "13" ], - "x-ms-client-request-id": [ "a1792765-f5e8-4d9d-884c-2541cc09258e" ], + "x-ms-client-request-id": [ "ddb0c103-8900-4571-ac2e-67f5e28895a7" ], "CommandName": [ "Get-AzStackHCIVMNetworkInterface" ], "FullCommandName": [ "Get-AzStackHCIVMNetworkInterface_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -545,24 +547,22 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], - "x-ms-providerhub-traffic": [ "True" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "29de1952-4f2f-47cb-b126-d5736f2b6288" ], - "x-ms-correlation-request-id": [ "256ed0d0-9192-48aa-bd45-38c4d422d307" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T062620Z:256ed0d0-9192-48aa-bd45-38c4d422d307" ], + "x-ms-request-id": [ "53c0dfbc-3610-4285-8e2d-f6f0fc2c1ce3" ], + "x-ms-correlation-request-id": [ "53c0dfbc-3610-4285-8e2d-f6f0fc2c1ce3" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T050926Z:53c0dfbc-3610-4285-8e2d-f6f0fc2c1ce3" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: A287C2E69E2F4BF0A72FE1A5579DA7CB Ref B: CO6AA3150218047 Ref C: 2024-02-27T06:26:19Z" ], - "Date": [ "Tue, 27 Feb 2024 06:26:19 GMT" ] + "X-MSEdge-Ref": [ "Ref A: B176A721EBF44785A668561FD2610736 Ref B: CO6AA3150217025 Ref C: 2024-03-22T05:09:26Z" ], + "Date": [ "Fri, 22 Mar 2024 05:09:26 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "148" ], - "Content-Type": [ "application/json" ], + "Content-Length": [ "247" ], + "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The resource \u0027Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\u0027 could not be found.\"}}", + "Content": "{\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"The Resource \u0027Microsoft.AzureStackHCI/networkInterfaces/testnicPowershell0226\u0027 under resource group \u0027mkclus104-rg\u0027 was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix\"}}", "isContentBase64": false } } From 976944e05ce57e458f2bf84eb582c57460499471 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Fri, 22 Mar 2024 09:14:14 -0700 Subject: [PATCH 18/21] vm recording --- .../AzStackHCIVMVirtualMachine.Recording.json | 781 +++++++----------- 1 file changed, 279 insertions(+), 502 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMVirtualMachine.Recording.json b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMVirtualMachine.Recording.json index f90da344a99e..df3fba0ddfa2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMVirtualMachine.Recording.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMVirtualMachine.Recording.json @@ -19,34 +19,34 @@ "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-resource-requests": [ "319" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "x-ms-request-id": [ "b0d6da03-1665-45ce-a53b-2a5018fc234a" ], - "x-ms-correlation-request-id": [ "21aab2a9-30eb-4f71-af10-42ed357581c4" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064331Z:21aab2a9-30eb-4f71-af10-42ed357581c4" ], + "x-ms-request-id": [ "ceeb2460-9d48-470c-b340-0174b56f1879" ], + "x-ms-correlation-request-id": [ "1ff47bc6-a061-4348-a20f-27177949c3cb" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060717Z:1ff47bc6-a061-4348-a20f-27177949c3cb" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 530CC5BECFAA4F7B82E20D23368556CC Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:43:29Z" ], - "Date": [ "Tue, 27 Feb 2024 06:43:31 GMT" ] + "X-MSEdge-Ref": [ "Ref A: B8B5656CC150460F8E23C5075C9B77EC Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:07:14Z" ], + "Date": [ "Fri, 22 Mar 2024 06:07:17 GMT" ] }, "ContentHeaders": { "Content-Length": [ "610" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2\",\"name\":\"manualvmtest2\",\"location\":\"eastus\",\"tags\":{\"RG_Owner\":\"pathuang\"},\"kind\":\"HCI\",\"identity\":{\"type\":\"SystemAssigned\",\"principalId\":\"8a729bb6-ff5a-488b-aad6-015482af2685\",\"tenantId\":\"72f988bf-86f1-41af-91ab-2d7cd011db47\"},\"type\":\"Microsoft.HybridCompute/machines\",\"properties\":{\"provisioningState\":\"Creating\",\"osType\":\"Linux\",\"osProfile\":{},\"vmId\":\"e0ab8d7b-dbb9-4d87-a7d9-ffb5f53ac3f2\",\"agentConfiguration\":{},\"agentUpgrade\":{\"enableAutomaticUpgrade\":false}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2\",\"name\":\"manualvmtest2\",\"location\":\"eastus\",\"tags\":{\"RG_Owner\":\"pathuang\"},\"kind\":\"HCI\",\"identity\":{\"type\":\"SystemAssigned\",\"principalId\":\"6f48693b-be5e-430d-b3f8-eb89b59ce61d\",\"tenantId\":\"72f988bf-86f1-41af-91ab-2d7cd011db47\"},\"type\":\"Microsoft.HybridCompute/machines\",\"properties\":{\"provisioningState\":\"Creating\",\"osType\":\"Linux\",\"osProfile\":{},\"vmId\":\"969f1846-4eb7-4e0d-a1bc-284516300ec8\",\"agentConfiguration\":{},\"agentUpgrade\":{\"enableAutomaticUpgrade\":false}}}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$PUT+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview+2": { + "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$PUT+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01+2": { "Request": { "Method": "PUT", - "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview", - "Content": "{\r\n \"properties\": {\r\n \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_K8S_v1\"\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"manualvmtest2\"\r\n },\r\n \"storageProfile\": {\r\n \"imageReference\": {\r\n \"id\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": \"Linux\"\r\n }\r\n }\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", + "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01", + "Content": "{\r\n \"properties\": {\r\n \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_K8S_v1\"\r\n },\r\n \"osProfile\": {\r\n \"linuxConfiguration\": {\r\n \"provisionVMAgent\": false,\r\n \"provisionVMConfigAgent\": false\r\n },\r\n \"computerName\": \"manualvmtest2\"\r\n },\r\n \"storageProfile\": {\r\n \"imageReference\": {\r\n \"id\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": \"Linux\"\r\n }\r\n }\r\n },\r\n \"extendedLocation\": {\r\n \"name\": \"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\r\n \"type\": \"CustomLocation\"\r\n }\r\n}", "isContentBase64": false, "Headers": { }, "ContentHeaders": { "Content-Type": [ "application/json" ], - "Content-Length": [ "679" ] + "Content-Length": [ "797" ] } }, "Response": { @@ -54,40 +54,40 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"8100f31a-0000-0100-0000-65dd84940000\"" ], + "ETag": [ "\"1f00c277-0000-0100-0000-65fd20150000\"" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "499ab951-d07d-4ecc-9496-a347154ba030" ], - "x-ms-request-id": [ "f4ff02f4-d897-4f42-9a4b-ebab92bf3056" ], - "x-ms-correlation-request-id": [ "e307caa1-09df-4690-ad99-7435412d65b9" ], + "mise-correlation-id": [ "d7f6950a-d3fb-4b01-8789-864e91a5d038" ], + "x-ms-request-id": [ "db125bcf-da05-4ff2-8c08-c4d3ccfb876a" ], + "x-ms-correlation-request-id": [ "8e26420d-9397-4f60-b404-5412e63a6d78" ], + "x-azure-ref": [ "20240322T060717Z-9wr34p87gt62m1fg3e513fe7vn00000002s000000000k8q1" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0k4TdZQAAAABk91Ozk/cvQY48Ja9CeOqATU5aMjIxMDYwNjExMDIxADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064332Z:e307caa1-09df-4690-ad99-7435412d65b9" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466844382732197\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NHOa6264wb4mhCwRziMUVym-vIxFtecmW6mkkLMjmquhRaArtkPSL_ELEK5yqxJhhHqLzYFGRMKNPz9hbzCGbnagnlvW3ctP4ZIPNFQPW2v4_luk9miNNPYDa1nvxLOztZNqmtkuaU2_1WSCu1M07NrV2vARQl44mtkwyd4-GmEVk6Gq91TsJPnu0c27Oitg6y4zB8oIz7_IBXh5U_BGZeosd8DaP5QHyZw8zMhm3gYer3r4jZo_K22O84ZkVNLpw814ErxFxzjQ_d_E6pttz1qbVoyjxocohN4uklDq51lfRjf4q1XGSk3r3fWU9-zXtHN2p0WQiPgKA3UxdGybww\u0026h=DN8st7szrACvpMHPywi_UK9b-O350sN0t9Q62EMAbxU" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060718Z:8e26420d-9397-4f60-b404-5412e63a6d78" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 4F87A1E210BD4AF581DD21183C7ECF7F Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:43:31Z" ], - "Date": [ "Tue, 27 Feb 2024 06:43:32 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 0F36885788144268A0DB8E1EF7E5C04C Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:07:17Z" ], + "Date": [ "Fri, 22 Mar 2024 06:07:18 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1083" ], + "Content-Length": [ "1162" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"name\":\"default\",\"type\":\"microsoft.azurestackhci/virtualmachineinstances\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:43:31.7444497Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:43:31.7444497Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"hardwareProfile\":{\"vmSize\":\"Standard_K8S_v1\"},\"osProfile\":{\"computerName\":\"manualvmtest2\"},\"storageProfile\":{\"imageReference\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\"},\"osDisk\":{\"osType\":\"Linux\"}}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"name\":\"default\",\"type\":\"microsoft.azurestackhci/virtualmachineinstances\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T06:07:17.5387541Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T06:07:17.5387541Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"hardwareProfile\":{\"vmSize\":\"Standard_K8S_v1\"},\"osProfile\":{\"linuxConfiguration\":{\"provisionVMAgent\":false,\"provisionVMConfigAgent\":false},\"computerName\":\"manualvmtest2\"},\"storageProfile\":{\"imageReference\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\"},\"osDisk\":{\"osType\":\"Linux\"}}}}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8+3": { + "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466844382732197\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NHOa6264wb4mhCwRziMUVym-vIxFtecmW6mkkLMjmquhRaArtkPSL_ELEK5yqxJhhHqLzYFGRMKNPz9hbzCGbnagnlvW3ctP4ZIPNFQPW2v4_luk9miNNPYDa1nvxLOztZNqmtkuaU2_1WSCu1M07NrV2vARQl44mtkwyd4-GmEVk6Gq91TsJPnu0c27Oitg6y4zB8oIz7_IBXh5U_BGZeosd8DaP5QHyZw8zMhm3gYer3r4jZo_K22O84ZkVNLpw814ErxFxzjQ_d_E6pttz1qbVoyjxocohN4uklDq51lfRjf4q1XGSk3r3fWU9-zXtHN2p0WQiPgKA3UxdGybww\u0026h=DN8st7szrACvpMHPywi_UK9b-O350sN0t9Q62EMAbxU+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466844382732197\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NHOa6264wb4mhCwRziMUVym-vIxFtecmW6mkkLMjmquhRaArtkPSL_ELEK5yqxJhhHqLzYFGRMKNPz9hbzCGbnagnlvW3ctP4ZIPNFQPW2v4_luk9miNNPYDa1nvxLOztZNqmtkuaU2_1WSCu1M07NrV2vARQl44mtkwyd4-GmEVk6Gq91TsJPnu0c27Oitg6y4zB8oIz7_IBXh5U_BGZeosd8DaP5QHyZw8zMhm3gYer3r4jZo_K22O84ZkVNLpw814ErxFxzjQ_d_E6pttz1qbVoyjxocohN4uklDq51lfRjf4q1XGSk3r3fWU9-zXtHN2p0WQiPgKA3UxdGybww\u0026h=DN8st7szrACvpMHPywi_UK9b-O350sN0t9Q62EMAbxU", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "3" ], - "x-ms-client-request-id": [ "669c4d33-eb84-400e-a327-db30c3fa43c9" ], + "x-ms-client-request-id": [ "ff040be7-a4ac-4d2f-a15a-13fe9f25e240" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "New-AzStackHCIVMVirtualMachine_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -101,36 +101,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01e5e8-0000-0100-0000-65dd849c0000\"" ], + "ETag": [ "\"6c0094c8-0000-0100-0000-65fd201c0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "a969a811-8492-491e-9770-44ca2d81a280" ], - "x-ms-correlation-request-id": [ "73e39a2e-0324-48b5-95de-93a96d4d3601" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064402Z:73e39a2e-0324-48b5-95de-93a96d4d3601" ], + "x-ms-request-id": [ "6040432d-11bc-4bd4-bdce-3b5a82fcd76f" ], + "x-ms-correlation-request-id": [ "b5962e44-0743-426e-8ef7-48a37414d439" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060748Z:b5962e44-0743-426e-8ef7-48a37414d439" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: EDE58852A8234B84A464FBE647F3A8DE Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:44:02Z" ], - "Date": [ "Tue, 27 Feb 2024 06:44:02 GMT" ] + "X-MSEdge-Ref": [ "Ref A: B5FB5E3BE95543AD83AEA91017E1FE11 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:07:48Z" ], + "Date": [ "Fri, 22 Mar 2024 06:07:48 GMT" ] }, "ContentHeaders": { "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:43:31.8126592Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T06:07:17.6285155Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8+4": { + "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466844382732197\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NHOa6264wb4mhCwRziMUVym-vIxFtecmW6mkkLMjmquhRaArtkPSL_ELEK5yqxJhhHqLzYFGRMKNPz9hbzCGbnagnlvW3ctP4ZIPNFQPW2v4_luk9miNNPYDa1nvxLOztZNqmtkuaU2_1WSCu1M07NrV2vARQl44mtkwyd4-GmEVk6Gq91TsJPnu0c27Oitg6y4zB8oIz7_IBXh5U_BGZeosd8DaP5QHyZw8zMhm3gYer3r4jZo_K22O84ZkVNLpw814ErxFxzjQ_d_E6pttz1qbVoyjxocohN4uklDq51lfRjf4q1XGSk3r3fWU9-zXtHN2p0WQiPgKA3UxdGybww\u0026h=DN8st7szrACvpMHPywi_UK9b-O350sN0t9Q62EMAbxU+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466844382732197\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NHOa6264wb4mhCwRziMUVym-vIxFtecmW6mkkLMjmquhRaArtkPSL_ELEK5yqxJhhHqLzYFGRMKNPz9hbzCGbnagnlvW3ctP4ZIPNFQPW2v4_luk9miNNPYDa1nvxLOztZNqmtkuaU2_1WSCu1M07NrV2vARQl44mtkwyd4-GmEVk6Gq91TsJPnu0c27Oitg6y4zB8oIz7_IBXh5U_BGZeosd8DaP5QHyZw8zMhm3gYer3r4jZo_K22O84ZkVNLpw814ErxFxzjQ_d_E6pttz1qbVoyjxocohN4uklDq51lfRjf4q1XGSk3r3fWU9-zXtHN2p0WQiPgKA3UxdGybww\u0026h=DN8st7szrACvpMHPywi_UK9b-O350sN0t9Q62EMAbxU", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "4" ], - "x-ms-client-request-id": [ "669c4d33-eb84-400e-a327-db30c3fa43c9" ], + "x-ms-client-request-id": [ "ff040be7-a4ac-4d2f-a15a-13fe9f25e240" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "New-AzStackHCIVMVirtualMachine_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -144,36 +144,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01e5e8-0000-0100-0000-65dd849c0000\"" ], + "ETag": [ "\"6c0094c8-0000-0100-0000-65fd201c0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "5282ca06-ce5c-42a6-bbe9-62382dc51d71" ], - "x-ms-correlation-request-id": [ "5ddbf90c-9450-4b03-a42c-fd5907e0c7df" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064433Z:5ddbf90c-9450-4b03-a42c-fd5907e0c7df" ], + "x-ms-request-id": [ "92c202f5-3cb4-4237-b55c-654ce4272138" ], + "x-ms-correlation-request-id": [ "56783e2f-5bdd-4197-a6df-7c488c58ebbe" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060818Z:56783e2f-5bdd-4197-a6df-7c488c58ebbe" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 33EF0A8CE3C64619BEB0B5DAA04631EC Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:44:32Z" ], - "Date": [ "Tue, 27 Feb 2024 06:44:32 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C9DBB5A49FBB4A71AF731FD59C707AC1 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:08:18Z" ], + "Date": [ "Fri, 22 Mar 2024 06:08:18 GMT" ] }, "ContentHeaders": { "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:43:31.8126592Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T06:07:17.6285155Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8+5": { + "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466844382732197\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NHOa6264wb4mhCwRziMUVym-vIxFtecmW6mkkLMjmquhRaArtkPSL_ELEK5yqxJhhHqLzYFGRMKNPz9hbzCGbnagnlvW3ctP4ZIPNFQPW2v4_luk9miNNPYDa1nvxLOztZNqmtkuaU2_1WSCu1M07NrV2vARQl44mtkwyd4-GmEVk6Gq91TsJPnu0c27Oitg6y4zB8oIz7_IBXh5U_BGZeosd8DaP5QHyZw8zMhm3gYer3r4jZo_K22O84ZkVNLpw814ErxFxzjQ_d_E6pttz1qbVoyjxocohN4uklDq51lfRjf4q1XGSk3r3fWU9-zXtHN2p0WQiPgKA3UxdGybww\u0026h=DN8st7szrACvpMHPywi_UK9b-O350sN0t9Q62EMAbxU+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466844382732197\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=NHOa6264wb4mhCwRziMUVym-vIxFtecmW6mkkLMjmquhRaArtkPSL_ELEK5yqxJhhHqLzYFGRMKNPz9hbzCGbnagnlvW3ctP4ZIPNFQPW2v4_luk9miNNPYDa1nvxLOztZNqmtkuaU2_1WSCu1M07NrV2vARQl44mtkwyd4-GmEVk6Gq91TsJPnu0c27Oitg6y4zB8oIz7_IBXh5U_BGZeosd8DaP5QHyZw8zMhm3gYer3r4jZo_K22O84ZkVNLpw814ErxFxzjQ_d_E6pttz1qbVoyjxocohN4uklDq51lfRjf4q1XGSk3r3fWU9-zXtHN2p0WQiPgKA3UxdGybww\u0026h=DN8st7szrACvpMHPywi_UK9b-O350sN0t9Q62EMAbxU", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "5" ], - "x-ms-client-request-id": [ "669c4d33-eb84-400e-a327-db30c3fa43c9" ], + "x-ms-client-request-id": [ "ff040be7-a4ac-4d2f-a15a-13fe9f25e240" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "New-AzStackHCIVMVirtualMachine_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -187,79 +187,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01e5e8-0000-0100-0000-65dd849c0000\"" ], + "ETag": [ "\"6c00a4e6-0000-0100-0000-65fd20630000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "c1ef9e23-1165-431e-a12f-8c98f6e89a79" ], - "x-ms-correlation-request-id": [ "810864d5-f1b0-4ec8-8482-6e908e647762" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064503Z:810864d5-f1b0-4ec8-8482-6e908e647762" ], + "x-ms-request-id": [ "33824d34-7582-45a5-a178-9d398b763084" ], + "x-ms-correlation-request-id": [ "8864921b-1629-48f1-b34d-545127803b31" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060849Z:8864921b-1629-48f1-b34d-545127803b31" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 1634DE8A7B554F25861AAC2C824608B5 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:45:03Z" ], - "Date": [ "Tue, 27 Feb 2024 06:45:03 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "572" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:43:31.8126592Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8+6": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446130123382417\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=eLuNiIxed8uwwpPX9Hm5XIOP62xN1YCkh205TzUn-oSaqhJm61Wsw13EcvKD0ndNoOt-o40a63C8c081dqTvoY9fmzg2PWC1aAYeWURkjYM3ah3Q_FZasqlWhYyQiajkT0lNw05lgZIgZ8T-x9PSbNoRCIv4sZDSwz08dLnSEpHLvQxppYmLMqGR7fdrydEc9O0rv8PIHXRHPvkJE55LQ4k0MCqYicYvy1RcG-GEh1zIXmMsUgICeogxL8eHBeU1h0vgXxlOFA_D3Sf8h96F08ql7vjFgeD9oxGE_UBd8afqIM9ornvgry4YYHwBimBvJqQ4-dOqf-z9naEeEdiS3Q\u0026h=W50H9sWBHfvad1XWoyH8vrt3h2d1KfDoPKpoOPvSja8", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "6" ], - "x-ms-client-request-id": [ "669c4d33-eb84-400e-a327-db30c3fa43c9" ], - "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualMachine" ], - "FullCommandName": [ "New-AzStackHCIVMVirtualMachine_CreateExpanded" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 200, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01caf7-0000-0100-0000-65dd850e0000\"" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "ac43bf6a-6364-480f-bf52-7e01a37fc8c2" ], - "x-ms-correlation-request-id": [ "4b305498-4bfe-4d20-86e8-3a7ff03f8535" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064534Z:4b305498-4bfe-4d20-86e8-3a7ff03f8535" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 1AB0928466D24ECF9113DDC3BB426D5E Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:45:34Z" ], - "Date": [ "Tue, 27 Feb 2024 06:45:34 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C0A01EE4582243CE83FAE0A30093E3C7 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:08:49Z" ], + "Date": [ "Fri, 22 Mar 2024 06:08:49 GMT" ] }, "ContentHeaders": { "Content-Length": [ "643" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a94b1b4-d550-483d-866c-fb325d570c08*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:43:31.8126592Z\",\"endTime\":\"2024-02-27T06:45:34.6343965Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"e9e422ec-3f1d-446c-a008-937552a6fbc5*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T06:07:17.6285155Z\",\"endTime\":\"2024-03-22T06:08:35.8708463Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview+7": { + "AzStackHCIVMVirtualMachine+[NoContext]+Create Virtual Machine +$GET+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01+6": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "7" ], - "x-ms-client-request-id": [ "669c4d33-eb84-400e-a327-db30c3fa43c9" ], + "x-ms-unique-id": [ "6" ], + "x-ms-client-request-id": [ "ff040be7-a4ac-4d2f-a15a-13fe9f25e240" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "New-AzStackHCIVMVirtualMachine_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -273,36 +230,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"8100441d-0000-0100-0000-65dd850e0000\"" ], + "ETag": [ "\"1f003b7a-0000-0100-0000-65fd20640000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "29011190-e803-4ae5-934e-b3f5f1077b10" ], - "x-ms-correlation-request-id": [ "783a33e7-a801-4db2-8753-f6f0f1226ed8" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064534Z:783a33e7-a801-4db2-8753-f6f0f1226ed8" ], + "x-ms-request-id": [ "c7f7ac39-01dd-4847-b185-473a6d3b98ee" ], + "x-ms-correlation-request-id": [ "66c73ed7-960e-430a-b116-f45b6777eb70" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060849Z:66c73ed7-960e-430a-b116-f45b6777eb70" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: FB244AB0C61943FAA87F6BDC959B0D2F Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:45:34Z" ], - "Date": [ "Tue, 27 Feb 2024 06:45:34 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 0FE614A132B04ECB9C5EDD600B791C0A Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:08:49Z" ], + "Date": [ "Fri, 22 Mar 2024 06:08:49 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1161" ], + "Content-Length": [ "1586" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"name\":\"default\",\"type\":\"microsoft.azurestackhci/virtualmachineinstances\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:43:31.7444497Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:43:31.7444497Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"hardwareProfile\":{\"dynamicMemoryConfig\":{}},\"osProfile\":{\"computerName\":\"manualvmtest2\",\"linuxConfiguration\":{\"ssh\":{}},\"windowsConfiguration\":{\"ssh\":{}}},\"storageProfile\":{\"imageReference\":{},\"osDisk\":{\"osType\":\"Linux\"},\"dataDisks\":[]},\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"networkProfile\":{},\"securityProfile\":{\"uefiSettings\":{}},\"vmId\":\"e0ab8d7b-dbb9-4d87-a7d9-ffb5f53ac3f2\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"name\":\"default\",\"type\":\"microsoft.azurestackhci/virtualmachineinstances\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T06:07:17.5387541Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T06:08:36.856018Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"hardwareProfile\":{\"dynamicMemoryConfig\":{},\"vmSize\":\"Custom\",\"processors\":4,\"memoryMB\":4096},\"osProfile\":{\"linuxConfiguration\":{\"provisionVMAgent\":false,\"provisionVMConfigAgent\":false,\"ssh\":{},\"disablePasswordAuthentication\":false},\"computerName\":\"manualvmtest2\",\"windowsConfiguration\":{\"ssh\":{}}},\"storageProfile\":{\"imageReference\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\"},\"osDisk\":{\"osType\":\"Linux\"},\"dataDisks\":[]},\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"powerState\":\"Running\"},\"networkProfile\":{\"networkInterfaces\":[]},\"securityProfile\":{\"uefiSettings\":{\"secureBootEnabled\":true}},\"vmId\":\"969f1846-4eb7-4e0d-a1bc-284516300ec8\",\"instanceView\":{\"vmAgent\":{\"statuses\":[]}}}}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Get+$GET+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview+1": { + "AzStackHCIVMVirtualMachine+[NoContext]+Get+$GET+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01+1": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "8" ], - "x-ms-client-request-id": [ "0ce94836-15cf-4f21-ba74-e30b7557d17b" ], + "x-ms-unique-id": [ "7" ], + "x-ms-client-request-id": [ "fb1e776d-890e-4bc7-b622-e6df826b5560" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Get-AzStackHCIVMVirtualMachine_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -317,36 +274,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"8100441d-0000-0100-0000-65dd850e0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "ETag": [ "\"1f003b7a-0000-0100-0000-65fd20640000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "0da87a34-2986-4bfc-bc1a-810e3a52226a" ], - "x-ms-correlation-request-id": [ "013b904d-5bda-4f6b-8e01-33a05e43ad39" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064535Z:013b904d-5bda-4f6b-8e01-33a05e43ad39" ], + "x-ms-request-id": [ "42a0c074-b990-492f-8298-e85a3e3ddf42" ], + "x-ms-correlation-request-id": [ "5cb092df-b34b-47b4-ab25-225fceacfbb4" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060850Z:5cb092df-b34b-47b4-ab25-225fceacfbb4" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: DF84B122E3F14D0FA516C9A63466A2BB Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:45:35Z" ], - "Date": [ "Tue, 27 Feb 2024 06:45:35 GMT" ] + "X-MSEdge-Ref": [ "Ref A: D9D986A97B6640C9BB3876035DCB5087 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:08:49Z" ], + "Date": [ "Fri, 22 Mar 2024 06:08:50 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1161" ], + "Content-Length": [ "1586" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"name\":\"default\",\"type\":\"microsoft.azurestackhci/virtualmachineinstances\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:43:31.7444497Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-02-27T06:43:31.7444497Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"hardwareProfile\":{\"dynamicMemoryConfig\":{}},\"osProfile\":{\"computerName\":\"manualvmtest2\",\"linuxConfiguration\":{\"ssh\":{}},\"windowsConfiguration\":{\"ssh\":{}}},\"storageProfile\":{\"imageReference\":{},\"osDisk\":{\"osType\":\"Linux\"},\"dataDisks\":[]},\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\"},\"networkProfile\":{},\"securityProfile\":{\"uefiSettings\":{}},\"vmId\":\"e0ab8d7b-dbb9-4d87-a7d9-ffb5f53ac3f2\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"name\":\"default\",\"type\":\"microsoft.azurestackhci/virtualmachineinstances\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T06:07:17.5387541Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T06:08:36.856018Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"hardwareProfile\":{\"dynamicMemoryConfig\":{},\"vmSize\":\"Custom\",\"processors\":4,\"memoryMB\":4096},\"osProfile\":{\"linuxConfiguration\":{\"provisionVMAgent\":false,\"provisionVMConfigAgent\":false,\"ssh\":{},\"disablePasswordAuthentication\":false},\"computerName\":\"manualvmtest2\",\"windowsConfiguration\":{\"ssh\":{}}},\"storageProfile\":{\"imageReference\":{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\"},\"osDisk\":{\"osType\":\"Linux\"},\"dataDisks\":[]},\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"powerState\":\"Running\"},\"networkProfile\":{\"networkInterfaces\":[]},\"securityProfile\":{\"uefiSettings\":{\"secureBootEnabled\":true}},\"vmId\":\"969f1846-4eb7-4e0d-a1bc-284516300ec8\",\"instanceView\":{\"vmAgent\":{\"statuses\":[]}}}}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$POST+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop?api-version=2023-09-01-preview+1": { + "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$POST+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop?api-version=2024-01-01+1": { "Request": { "Method": "POST", - "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/stop?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "9" ], - "x-ms-client-request-id": [ "6c444c77-c009-4251-9cf8-a22a88b55d4e" ], + "x-ms-unique-id": [ "8" ], + "x-ms-client-request-id": [ "e967d1ba-d3f1-48dd-8a43-2af4261cdf66" ], "CommandName": [ "Az.StackHCIVM.internal\\Stop-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Stop-AzStackHCIVMVirtualMachine_Stop" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -361,20 +318,20 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131363438035\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=g2B26iuxr2279XHZuMQWbHUJskPXq1VsNuSzZsIHD6Pde566JkWkJRsfIUWkMfUdHf2AL_yw7cWqHI32iwI-h4GYnKmo5iZnl4RDqPhpxvOCK4xYj547l2ftupbjShJKOELAwqLGqxc-bQ9gUQY5_JzwEinmRpAX5p8AUhKk-d_F3ksNoPq7raBwuaHOeD1fWLWNJ74LuGVFM0HUzyY9CwcbmL2fhw0JIpBf1p-UYIA1SCwuiBvCgVj9FLtA5A3LwQPl98BgIOLZ2LxBscNe7y9eabx3GYJi4bIo5bvdIZAbf7NzJ_yQsjRcBf-ACBFelC_3BzrgW6PuSBpcHAx-RQ\u0026h=uulZIcOCeLMzEQ_mpSoMQkMSrbpmg7la3Ef5BmrufxM" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845310478386\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Wr3R9pf2uYcYrT10_IY-xdX5oa7HKtDWLWlVPUClXplxS6YuPdswDqnnpuUtlvTas8BwtECiFgwyoOO7ePTjpauiFT5g7yxLxbt8Irp8KtuF4NRXA3Grgi0OsY4IzZcsezWhcCOOT82VETwez92td0jYIwGO8arHVP1ETFPsXF0iUOt8OouG0_rK5ih32-J0c3ykCr_9ssqTcVraSLrRW3pWi7SAyktl9ZlqFfbnwNlk1jNqppJTc5huQEPwwwZ8aIe50k-ebKZguvOM8tCUbF65GzjJ4Y9VCKlvSV-lqhzErmwcIuFlYNbdKBn3rnY2E9d3gDKEBPhYM39ehYTLbA\u0026h=PMjnl2wFh0m3B6HKSz-QkZOX0GbOx-PLT60zOPabUCY" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "e29b793a-7f95-4d3f-891d-6c6f044e8a69" ], + "mise-correlation-id": [ "8feab337-de27-418a-a2f8-36fdecd28875" ], "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], + "x-azure-ref": [ "20240322T060850Z-rs36647zed4dz530n7np3w61n800000002g000000001eukp" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0EIXdZQAAAAAf1ksnhPu6R7DYXUR3XFLfTU5aMjIxMDYwNjE0MDIzADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131363438035\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=g2B26iuxr2279XHZuMQWbHUJskPXq1VsNuSzZsIHD6Pde566JkWkJRsfIUWkMfUdHf2AL_yw7cWqHI32iwI-h4GYnKmo5iZnl4RDqPhpxvOCK4xYj547l2ftupbjShJKOELAwqLGqxc-bQ9gUQY5_JzwEinmRpAX5p8AUhKk-d_F3ksNoPq7raBwuaHOeD1fWLWNJ74LuGVFM0HUzyY9CwcbmL2fhw0JIpBf1p-UYIA1SCwuiBvCgVj9FLtA5A3LwQPl98BgIOLZ2LxBscNe7y9eabx3GYJi4bIo5bvdIZAbf7NzJ_yQsjRcBf-ACBFelC_3BzrgW6PuSBpcHAx-RQ\u0026h=uulZIcOCeLMzEQ_mpSoMQkMSrbpmg7la3Ef5BmrufxM" ], - "x-ms-correlation-request-id": [ "5ca9a193-37ef-4e37-86dc-2e5b8f5fbf8e" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064536Z:5ca9a193-37ef-4e37-86dc-2e5b8f5fbf8e" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845310478386\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Wr3R9pf2uYcYrT10_IY-xdX5oa7HKtDWLWlVPUClXplxS6YuPdswDqnnpuUtlvTas8BwtECiFgwyoOO7ePTjpauiFT5g7yxLxbt8Irp8KtuF4NRXA3Grgi0OsY4IzZcsezWhcCOOT82VETwez92td0jYIwGO8arHVP1ETFPsXF0iUOt8OouG0_rK5ih32-J0c3ykCr_9ssqTcVraSLrRW3pWi7SAyktl9ZlqFfbnwNlk1jNqppJTc5huQEPwwwZ8aIe50k-ebKZguvOM8tCUbF65GzjJ4Y9VCKlvSV-lqhzErmwcIuFlYNbdKBn3rnY2E9d3gDKEBPhYM39ehYTLbA\u0026h=PMjnl2wFh0m3B6HKSz-QkZOX0GbOx-PLT60zOPabUCY" ], + "x-ms-correlation-request-id": [ "f180536a-2679-46b4-bf40-4fbcefaefc37" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060851Z:f180536a-2679-46b4-bf40-4fbcefaefc37" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: A09B472A877F40BAAE9F955D0214FDE0 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:45:35Z" ], - "Date": [ "Tue, 27 Feb 2024 06:45:36 GMT" ] + "X-MSEdge-Ref": [ "Ref A: AE2FA702236447CAAA38658DE05A25E8 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:08:50Z" ], + "Date": [ "Fri, 22 Mar 2024 06:08:50 GMT" ] }, "ContentHeaders": { "Content-Length": [ "4" ], @@ -385,61 +342,16 @@ "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131363438035\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=g2B26iuxr2279XHZuMQWbHUJskPXq1VsNuSzZsIHD6Pde566JkWkJRsfIUWkMfUdHf2AL_yw7cWqHI32iwI-h4GYnKmo5iZnl4RDqPhpxvOCK4xYj547l2ftupbjShJKOELAwqLGqxc-bQ9gUQY5_JzwEinmRpAX5p8AUhKk-d_F3ksNoPq7raBwuaHOeD1fWLWNJ74LuGVFM0HUzyY9CwcbmL2fhw0JIpBf1p-UYIA1SCwuiBvCgVj9FLtA5A3LwQPl98BgIOLZ2LxBscNe7y9eabx3GYJi4bIo5bvdIZAbf7NzJ_yQsjRcBf-ACBFelC_3BzrgW6PuSBpcHAx-RQ\u0026h=uulZIcOCeLMzEQ_mpSoMQkMSrbpmg7la3Ef5BmrufxM+2": { + "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845310478386\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Wr3R9pf2uYcYrT10_IY-xdX5oa7HKtDWLWlVPUClXplxS6YuPdswDqnnpuUtlvTas8BwtECiFgwyoOO7ePTjpauiFT5g7yxLxbt8Irp8KtuF4NRXA3Grgi0OsY4IzZcsezWhcCOOT82VETwez92td0jYIwGO8arHVP1ETFPsXF0iUOt8OouG0_rK5ih32-J0c3ykCr_9ssqTcVraSLrRW3pWi7SAyktl9ZlqFfbnwNlk1jNqppJTc5huQEPwwwZ8aIe50k-ebKZguvOM8tCUbF65GzjJ4Y9VCKlvSV-lqhzErmwcIuFlYNbdKBn3rnY2E9d3gDKEBPhYM39ehYTLbA\u0026h=PMjnl2wFh0m3B6HKSz-QkZOX0GbOx-PLT60zOPabUCY+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131363438035\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=g2B26iuxr2279XHZuMQWbHUJskPXq1VsNuSzZsIHD6Pde566JkWkJRsfIUWkMfUdHf2AL_yw7cWqHI32iwI-h4GYnKmo5iZnl4RDqPhpxvOCK4xYj547l2ftupbjShJKOELAwqLGqxc-bQ9gUQY5_JzwEinmRpAX5p8AUhKk-d_F3ksNoPq7raBwuaHOeD1fWLWNJ74LuGVFM0HUzyY9CwcbmL2fhw0JIpBf1p-UYIA1SCwuiBvCgVj9FLtA5A3LwQPl98BgIOLZ2LxBscNe7y9eabx3GYJi4bIo5bvdIZAbf7NzJ_yQsjRcBf-ACBFelC_3BzrgW6PuSBpcHAx-RQ\u0026h=uulZIcOCeLMzEQ_mpSoMQkMSrbpmg7la3Ef5BmrufxM", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845310478386\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Wr3R9pf2uYcYrT10_IY-xdX5oa7HKtDWLWlVPUClXplxS6YuPdswDqnnpuUtlvTas8BwtECiFgwyoOO7ePTjpauiFT5g7yxLxbt8Irp8KtuF4NRXA3Grgi0OsY4IzZcsezWhcCOOT82VETwez92td0jYIwGO8arHVP1ETFPsXF0iUOt8OouG0_rK5ih32-J0c3ykCr_9ssqTcVraSLrRW3pWi7SAyktl9ZlqFfbnwNlk1jNqppJTc5huQEPwwwZ8aIe50k-ebKZguvOM8tCUbF65GzjJ4Y9VCKlvSV-lqhzErmwcIuFlYNbdKBn3rnY2E9d3gDKEBPhYM39ehYTLbA\u0026h=PMjnl2wFh0m3B6HKSz-QkZOX0GbOx-PLT60zOPabUCY", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "10" ], - "x-ms-client-request-id": [ "6c444c77-c009-4251-9cf8-a22a88b55d4e" ], - "CommandName": [ "Az.StackHCIVM.internal\\Stop-AzStackHCIVMVirtualMachine" ], - "FullCommandName": [ "Stop-AzStackHCIVMVirtualMachine_Stop" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 202, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01dcf8-0000-0100-0000-65dd85160000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131668539699\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Hm8F1DdCCfEdJj0zGBPxj3G8f9tQJc0ninb9cYbXrK14qZgSjCGd6vE64MVU6kOWAmo2oxQra4n9BIFvs_wAg_I76Pa9cVfKdkUHZMxmDaO0EpoxmZXWTIBo8vPE2vbU3h3RiIvh-uNMuvbNrgfk7S6bNZYUbRQy59Z6io1wubfFul5pyeuZn30HZ65j4Pe0BV2XQqI0L09ttw9ht3ybfarul3b2TuWQpTtCAOrnRBepLpM5qtNWSwFWOJ5HpMwD225wgyFKKphW6c7xFqdojiqyiv3l-gB00InbpWbLCL1Wx5ZucIA75GFY-OCUI-3O9NMmI8wSg32WahN60tGfRg\u0026h=wBFsC6zVY8fcKHeOLHNEfzQjW7wrJ1IVBrppu-KRh1o" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131668539699\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Hm8F1DdCCfEdJj0zGBPxj3G8f9tQJc0ninb9cYbXrK14qZgSjCGd6vE64MVU6kOWAmo2oxQra4n9BIFvs_wAg_I76Pa9cVfKdkUHZMxmDaO0EpoxmZXWTIBo8vPE2vbU3h3RiIvh-uNMuvbNrgfk7S6bNZYUbRQy59Z6io1wubfFul5pyeuZn30HZ65j4Pe0BV2XQqI0L09ttw9ht3ybfarul3b2TuWQpTtCAOrnRBepLpM5qtNWSwFWOJ5HpMwD225wgyFKKphW6c7xFqdojiqyiv3l-gB00InbpWbLCL1Wx5ZucIA75GFY-OCUI-3O9NMmI8wSg32WahN60tGfRg\u0026h=wBFsC6zVY8fcKHeOLHNEfzQjW7wrJ1IVBrppu-KRh1o" ], - "x-ms-request-id": [ "1ecc3a9c-f71a-4884-86bc-2cc79935126a" ], - "x-ms-correlation-request-id": [ "baaf6a40-7691-40cc-b03f-2f49eca0c08c" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064606Z:baaf6a40-7691-40cc-b03f-2f49eca0c08c" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 46EE16342F2D4E90AD95F95116231CD0 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:46:06Z" ], - "Date": [ "Tue, 27 Feb 2024 06:46:06 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "572" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:45:36.0144636Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131668539699\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Hm8F1DdCCfEdJj0zGBPxj3G8f9tQJc0ninb9cYbXrK14qZgSjCGd6vE64MVU6kOWAmo2oxQra4n9BIFvs_wAg_I76Pa9cVfKdkUHZMxmDaO0EpoxmZXWTIBo8vPE2vbU3h3RiIvh-uNMuvbNrgfk7S6bNZYUbRQy59Z6io1wubfFul5pyeuZn30HZ65j4Pe0BV2XQqI0L09ttw9ht3ybfarul3b2TuWQpTtCAOrnRBepLpM5qtNWSwFWOJ5HpMwD225wgyFKKphW6c7xFqdojiqyiv3l-gB00InbpWbLCL1Wx5ZucIA75GFY-OCUI-3O9NMmI8wSg32WahN60tGfRg\u0026h=wBFsC6zVY8fcKHeOLHNEfzQjW7wrJ1IVBrppu-KRh1o+3": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131668539699\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Hm8F1DdCCfEdJj0zGBPxj3G8f9tQJc0ninb9cYbXrK14qZgSjCGd6vE64MVU6kOWAmo2oxQra4n9BIFvs_wAg_I76Pa9cVfKdkUHZMxmDaO0EpoxmZXWTIBo8vPE2vbU3h3RiIvh-uNMuvbNrgfk7S6bNZYUbRQy59Z6io1wubfFul5pyeuZn30HZ65j4Pe0BV2XQqI0L09ttw9ht3ybfarul3b2TuWQpTtCAOrnRBepLpM5qtNWSwFWOJ5HpMwD225wgyFKKphW6c7xFqdojiqyiv3l-gB00InbpWbLCL1Wx5ZucIA75GFY-OCUI-3O9NMmI8wSg32WahN60tGfRg\u0026h=wBFsC6zVY8fcKHeOLHNEfzQjW7wrJ1IVBrppu-KRh1o", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "11" ], - "x-ms-client-request-id": [ "6c444c77-c009-4251-9cf8-a22a88b55d4e" ], + "x-ms-unique-id": [ "9" ], + "x-ms-client-request-id": [ "e967d1ba-d3f1-48dd-8a43-2af4261cdf66" ], "CommandName": [ "Az.StackHCIVM.internal\\Stop-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Stop-AzStackHCIVMVirtualMachine_Stop" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -453,38 +365,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01dcf8-0000-0100-0000-65dd85160000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131972035104\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=mvX7sl-JAqdFuFpJZT-awggM0ASa4HC4Y5LqMxjpfMD6z_U8qFAPjubj8e8XsNaA0fHTrFr76zYrnH965L5oBtq5-Rb3EnAoC4cVzLNHMXWuVlkJiBjjsEkkaLfbqVnkn-eccdHXvVajkEh-JxaGfJjPiE62uwRRbHisBRhg3sJyMA3HEt3Qp3C26VhEppkwfdm-NVB3omwJW2mkcMcqNkIuf5w9M_MDHBNLGSvZW9jyTxnOXR84w7M4g7M6YD4R6LIZNkDHtguEdj0LlEnis2tjWa2q-kKuyfKpGgvsx-FjsUGC_brqUnWsFuEXZjSP1AdraoIsKhKyHuG6zfMNIA\u0026h=Fx6ro0yTZ7nvZVSjBNxt2xtSOhlMkaqm1bjsnFDuyAA" ], + "ETag": [ "\"6c00ccef-0000-0100-0000-65fd20760000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845613908729\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=BjP2quwDqMEy_vgRxEIA54sNJ4G1z2arjNnPL-Mh7caw4amDCZaSwowUuGajQka2A0eR6sEKdcdSG4onsmLEyPQhn-2gC43XwYREIndhAYKbkvJdXLhWQjX8i27uEOgz782noasJuASsXFY5lYfbSgcifPByKGzKOBoahDBlBcXlQhiWWttuNpHJT23DFdodJSt-YS94yNtfg6X2aEg0XdR0UM7OJuW6bOtoPZB9tadqR9k43iUT-PLWgc0MZFOfFZS3axFSRWTPrE564KlrwDryKTi-5hrpIILluGdr2KGQbZUl9u8cxh_Qq6i9pmNxwgc9lhnKdcydo2S7Ylqbeg\u0026h=ijX9BNuhZL2FDn-XyZcFMKhHkIo_uxw7g8GNten_X2Y" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131972035104\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=mvX7sl-JAqdFuFpJZT-awggM0ASa4HC4Y5LqMxjpfMD6z_U8qFAPjubj8e8XsNaA0fHTrFr76zYrnH965L5oBtq5-Rb3EnAoC4cVzLNHMXWuVlkJiBjjsEkkaLfbqVnkn-eccdHXvVajkEh-JxaGfJjPiE62uwRRbHisBRhg3sJyMA3HEt3Qp3C26VhEppkwfdm-NVB3omwJW2mkcMcqNkIuf5w9M_MDHBNLGSvZW9jyTxnOXR84w7M4g7M6YD4R6LIZNkDHtguEdj0LlEnis2tjWa2q-kKuyfKpGgvsx-FjsUGC_brqUnWsFuEXZjSP1AdraoIsKhKyHuG6zfMNIA\u0026h=Fx6ro0yTZ7nvZVSjBNxt2xtSOhlMkaqm1bjsnFDuyAA" ], - "x-ms-request-id": [ "a6a21bcd-dcdf-4068-82f0-cd6a9f01be67" ], - "x-ms-correlation-request-id": [ "384b0a69-1a5f-4382-a249-416ccc2c177c" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064637Z:384b0a69-1a5f-4382-a249-416ccc2c177c" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845613908729\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=BjP2quwDqMEy_vgRxEIA54sNJ4G1z2arjNnPL-Mh7caw4amDCZaSwowUuGajQka2A0eR6sEKdcdSG4onsmLEyPQhn-2gC43XwYREIndhAYKbkvJdXLhWQjX8i27uEOgz782noasJuASsXFY5lYfbSgcifPByKGzKOBoahDBlBcXlQhiWWttuNpHJT23DFdodJSt-YS94yNtfg6X2aEg0XdR0UM7OJuW6bOtoPZB9tadqR9k43iUT-PLWgc0MZFOfFZS3axFSRWTPrE564KlrwDryKTi-5hrpIILluGdr2KGQbZUl9u8cxh_Qq6i9pmNxwgc9lhnKdcydo2S7Ylqbeg\u0026h=ijX9BNuhZL2FDn-XyZcFMKhHkIo_uxw7g8GNten_X2Y" ], + "x-ms-request-id": [ "843d3f30-49c3-4623-91aa-7848bd150d92" ], + "x-ms-correlation-request-id": [ "c12c3022-249e-410b-8336-ddcf9ca029a3" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060921Z:c12c3022-249e-410b-8336-ddcf9ca029a3" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 9059FA8D002D488F9B4AF6D3B8ED06EF Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:46:37Z" ], - "Date": [ "Tue, 27 Feb 2024 06:46:36 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 1C04E4B702E94698AC7EA85868951AA8 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:09:21Z" ], + "Date": [ "Fri, 22 Mar 2024 06:09:21 GMT" ] }, "ContentHeaders": { "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:45:36.0144636Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T06:08:50.6409029Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131972035104\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=mvX7sl-JAqdFuFpJZT-awggM0ASa4HC4Y5LqMxjpfMD6z_U8qFAPjubj8e8XsNaA0fHTrFr76zYrnH965L5oBtq5-Rb3EnAoC4cVzLNHMXWuVlkJiBjjsEkkaLfbqVnkn-eccdHXvVajkEh-JxaGfJjPiE62uwRRbHisBRhg3sJyMA3HEt3Qp3C26VhEppkwfdm-NVB3omwJW2mkcMcqNkIuf5w9M_MDHBNLGSvZW9jyTxnOXR84w7M4g7M6YD4R6LIZNkDHtguEdj0LlEnis2tjWa2q-kKuyfKpGgvsx-FjsUGC_brqUnWsFuEXZjSP1AdraoIsKhKyHuG6zfMNIA\u0026h=Fx6ro0yTZ7nvZVSjBNxt2xtSOhlMkaqm1bjsnFDuyAA+4": { + "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845613908729\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=BjP2quwDqMEy_vgRxEIA54sNJ4G1z2arjNnPL-Mh7caw4amDCZaSwowUuGajQka2A0eR6sEKdcdSG4onsmLEyPQhn-2gC43XwYREIndhAYKbkvJdXLhWQjX8i27uEOgz782noasJuASsXFY5lYfbSgcifPByKGzKOBoahDBlBcXlQhiWWttuNpHJT23DFdodJSt-YS94yNtfg6X2aEg0XdR0UM7OJuW6bOtoPZB9tadqR9k43iUT-PLWgc0MZFOfFZS3axFSRWTPrE564KlrwDryKTi-5hrpIILluGdr2KGQbZUl9u8cxh_Qq6i9pmNxwgc9lhnKdcydo2S7Ylqbeg\u0026h=ijX9BNuhZL2FDn-XyZcFMKhHkIo_uxw7g8GNten_X2Y+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131972035104\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=mvX7sl-JAqdFuFpJZT-awggM0ASa4HC4Y5LqMxjpfMD6z_U8qFAPjubj8e8XsNaA0fHTrFr76zYrnH965L5oBtq5-Rb3EnAoC4cVzLNHMXWuVlkJiBjjsEkkaLfbqVnkn-eccdHXvVajkEh-JxaGfJjPiE62uwRRbHisBRhg3sJyMA3HEt3Qp3C26VhEppkwfdm-NVB3omwJW2mkcMcqNkIuf5w9M_MDHBNLGSvZW9jyTxnOXR84w7M4g7M6YD4R6LIZNkDHtguEdj0LlEnis2tjWa2q-kKuyfKpGgvsx-FjsUGC_brqUnWsFuEXZjSP1AdraoIsKhKyHuG6zfMNIA\u0026h=Fx6ro0yTZ7nvZVSjBNxt2xtSOhlMkaqm1bjsnFDuyAA", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845613908729\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=BjP2quwDqMEy_vgRxEIA54sNJ4G1z2arjNnPL-Mh7caw4amDCZaSwowUuGajQka2A0eR6sEKdcdSG4onsmLEyPQhn-2gC43XwYREIndhAYKbkvJdXLhWQjX8i27uEOgz782noasJuASsXFY5lYfbSgcifPByKGzKOBoahDBlBcXlQhiWWttuNpHJT23DFdodJSt-YS94yNtfg6X2aEg0XdR0UM7OJuW6bOtoPZB9tadqR9k43iUT-PLWgc0MZFOfFZS3axFSRWTPrE564KlrwDryKTi-5hrpIILluGdr2KGQbZUl9u8cxh_Qq6i9pmNxwgc9lhnKdcydo2S7Ylqbeg\u0026h=ijX9BNuhZL2FDn-XyZcFMKhHkIo_uxw7g8GNten_X2Y", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "12" ], - "x-ms-client-request-id": [ "6c444c77-c009-4251-9cf8-a22a88b55d4e" ], + "x-ms-unique-id": [ "10" ], + "x-ms-client-request-id": [ "e967d1ba-d3f1-48dd-8a43-2af4261cdf66" ], "CommandName": [ "Az.StackHCIVM.internal\\Stop-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Stop-AzStackHCIVMVirtualMachine_Stop" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -498,83 +410,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01dcf8-0000-0100-0000-65dd85160000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132275675547\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=iMTSdS8CJwzlW1idOuMe9H3VBI_OlfH2PnpHmwtU0N-uuN-E_-PHvqk1gXgbkmcMH6ZsCbEyqAq9fisVE4xjwbArTGahlN94cxzCtWP0x31y0gZA_rRwFU2h-utyKfB025U1netF0zBnNHaoSrmUMdJLhNondaFtJBlqz46DJjWv-q25sN2LbSyt3VbQ-XDdUZEennBsfKRC4TlyAwX02UsLgpZt_LzoRlRne7CYYftysS1l1srERAJp3CsZ6tZ-J8yqcH0CI_fOF_vQdW2axVi_fEFjqKKrRX8T2SNXazQ97An7-IksbiXZ5ER7GDfZoh33EbQmlWilCE5Xs13iQQ\u0026h=pjWbUeP17XSsJYVg7T9NkTUmIIsUcq0wMRrpgH5NPQo" ], + "ETag": [ "\"6c00ccef-0000-0100-0000-65fd20760000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845917495602\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=aNzwuO217AwC_ZFcQAuw4qjbDPJb5dDDMrTJnZMhLp8gMb2lCo-1MT1fc71zEguah6upD1TaZPraFQcaBVlBVBZODSV3OZvspCo0DJxcJQT-bca46KPZTAFqOiwiyG-YroOE7QMhFL7ygjihR0gekPs2waELeOEfkP8EOWIPXQw322hZx8M3onXnMRy4l-zL8J_a0Uc4xwWG6Sl5AgPrA2NJGFN_bTrw1k48WXpqGIxmMqRZyj-gBcrclk4922nqWrdSz-RqgqD7hQwuVVvobMfg56YnnEOl8da89qwJhNpUTTwq9BXDUavg7EI5MMfNsDKC4xo8-Wxjko1dwg0rDg\u0026h=5KIr5LFPugs_MpGw1O0TR8B4YkB3xxwbT3D2OS8VDrY" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132275519326\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZODadZRwgvEK7AwLyohmcZRmUwk1CV5ygk77yzKjlmFOg3EeKPn9Z_3CFsOwtxtsA3GE1G3ZCIRME1TiqKfQI3Sdhk-GmQM3Woa1qAh4v0oAtElo6qR-C_T4vyn4qL-ZSj9GujrCLxDfhwsA6wLexYaI7a7oQPAKVcvWxlgvFx506SOmh07Sz3aSIqFfoOuWBQN3NCEgwDRw3IPmZxIPvjDWiKbaif7Oo5S6iJS3HBTYkbVmEfutyzOq66CEY0cvf2dvJUUiEig-vcSfYIaRofM7e0vBpuoUKWhS0GpfhSlG-dgsy0F9xv0z096emFqzAGNrK0x090hOnBO0GQHcgg\u0026h=XFIbsDM5j8zpd8kW5iX7C_BkN2oRXMjjAio1uP5BxjQ" ], - "x-ms-request-id": [ "8f73ff45-b7d7-49f3-b923-3fd8842536b8" ], - "x-ms-correlation-request-id": [ "219ef07b-c093-417e-920a-7751e83edbc9" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064707Z:219ef07b-c093-417e-920a-7751e83edbc9" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845917339319\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fybDoDFi4-20pzH2XxFHmduqVCtt-_Hb1L7P-glyzA1sl72R5CfLdBBi__g35hZ_ZsOuaHg6_fc6mAc1PwD48O5E9mGEd0wFQjwPkvtEaFRrEoi7dsxUZVCC2LJBzKXzd817h7lHlQ7W5JC3WiK4q3JvY8eS1MElOpuO-dR9NoV27I0BXKGo1U6elzucnzN7ERVrN32Pzpds_3nIrzsf8--yP8-qOAzQ_wTAYT9XL11_XK0v8fEVbQxnw5k4FeRBoJ8fY-XFdy3gwXDUib1U2MpBfPZtbui-smFMy4Y2dFThW3sP_tQDuCgqYHY-I1DlHai5WAygaCeN0NsBbVh_aA\u0026h=LYLvl_T3cHNgolHuhl1NSfb-hoCDwNi1VgbKLMLBHUI" ], + "x-ms-request-id": [ "efe3d0e6-3f34-40e3-83be-0fbc0e0f7f27" ], + "x-ms-correlation-request-id": [ "f97a6525-7e77-4d9b-8bde-04690d9196d2" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T060951Z:f97a6525-7e77-4d9b-8bde-04690d9196d2" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 48FAD0C1AA0B493295DB404C80D1DAC8 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:47:07Z" ], - "Date": [ "Tue, 27 Feb 2024 06:47:07 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 5F25AE2FFB4C41D986876F6F32EC6B98 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:09:51Z" ], + "Date": [ "Fri, 22 Mar 2024 06:09:51 GMT" ] }, "ContentHeaders": { "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:45:36.0144636Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T06:08:50.6409029Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132275519326\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZODadZRwgvEK7AwLyohmcZRmUwk1CV5ygk77yzKjlmFOg3EeKPn9Z_3CFsOwtxtsA3GE1G3ZCIRME1TiqKfQI3Sdhk-GmQM3Woa1qAh4v0oAtElo6qR-C_T4vyn4qL-ZSj9GujrCLxDfhwsA6wLexYaI7a7oQPAKVcvWxlgvFx506SOmh07Sz3aSIqFfoOuWBQN3NCEgwDRw3IPmZxIPvjDWiKbaif7Oo5S6iJS3HBTYkbVmEfutyzOq66CEY0cvf2dvJUUiEig-vcSfYIaRofM7e0vBpuoUKWhS0GpfhSlG-dgsy0F9xv0z096emFqzAGNrK0x090hOnBO0GQHcgg\u0026h=XFIbsDM5j8zpd8kW5iX7C_BkN2oRXMjjAio1uP5BxjQ+5": { + "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845917339319\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fybDoDFi4-20pzH2XxFHmduqVCtt-_Hb1L7P-glyzA1sl72R5CfLdBBi__g35hZ_ZsOuaHg6_fc6mAc1PwD48O5E9mGEd0wFQjwPkvtEaFRrEoi7dsxUZVCC2LJBzKXzd817h7lHlQ7W5JC3WiK4q3JvY8eS1MElOpuO-dR9NoV27I0BXKGo1U6elzucnzN7ERVrN32Pzpds_3nIrzsf8--yP8-qOAzQ_wTAYT9XL11_XK0v8fEVbQxnw5k4FeRBoJ8fY-XFdy3gwXDUib1U2MpBfPZtbui-smFMy4Y2dFThW3sP_tQDuCgqYHY-I1DlHai5WAygaCeN0NsBbVh_aA\u0026h=LYLvl_T3cHNgolHuhl1NSfb-hoCDwNi1VgbKLMLBHUI+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132275519326\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZODadZRwgvEK7AwLyohmcZRmUwk1CV5ygk77yzKjlmFOg3EeKPn9Z_3CFsOwtxtsA3GE1G3ZCIRME1TiqKfQI3Sdhk-GmQM3Woa1qAh4v0oAtElo6qR-C_T4vyn4qL-ZSj9GujrCLxDfhwsA6wLexYaI7a7oQPAKVcvWxlgvFx506SOmh07Sz3aSIqFfoOuWBQN3NCEgwDRw3IPmZxIPvjDWiKbaif7Oo5S6iJS3HBTYkbVmEfutyzOq66CEY0cvf2dvJUUiEig-vcSfYIaRofM7e0vBpuoUKWhS0GpfhSlG-dgsy0F9xv0z096emFqzAGNrK0x090hOnBO0GQHcgg\u0026h=XFIbsDM5j8zpd8kW5iX7C_BkN2oRXMjjAio1uP5BxjQ", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845917339319\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fybDoDFi4-20pzH2XxFHmduqVCtt-_Hb1L7P-glyzA1sl72R5CfLdBBi__g35hZ_ZsOuaHg6_fc6mAc1PwD48O5E9mGEd0wFQjwPkvtEaFRrEoi7dsxUZVCC2LJBzKXzd817h7lHlQ7W5JC3WiK4q3JvY8eS1MElOpuO-dR9NoV27I0BXKGo1U6elzucnzN7ERVrN32Pzpds_3nIrzsf8--yP8-qOAzQ_wTAYT9XL11_XK0v8fEVbQxnw5k4FeRBoJ8fY-XFdy3gwXDUib1U2MpBfPZtbui-smFMy4Y2dFThW3sP_tQDuCgqYHY-I1DlHai5WAygaCeN0NsBbVh_aA\u0026h=LYLvl_T3cHNgolHuhl1NSfb-hoCDwNi1VgbKLMLBHUI", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "13" ], - "x-ms-client-request-id": [ "6c444c77-c009-4251-9cf8-a22a88b55d4e" ], - "CommandName": [ "Az.StackHCIVM.internal\\Stop-AzStackHCIVMVirtualMachine" ], - "FullCommandName": [ "Stop-AzStackHCIVMVirtualMachine_Stop" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 202, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5a01dcf8-0000-0100-0000-65dd85160000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132578803505\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=GZ2wmd0eeVDQSYkfmb_n4Wj6_OB2rZKJRiCzxmv9EoK4I50-ARdjl9VUDw7duu6E5Qd0zkVTJjUbskAAkJtEIUCNbr5XPq0e_n82DUI3_75771ZuMytHpDQFwT2Or_2feKCfma3f9NAlwqEscUUr6Ami6zPen6MiuBuwK5Ngy9KrBf-7vpRYhnoxWvXxUymFaM2MAg0FqwU-MRxgNPfZALkAqWwQXwJPdn6fMvn_icJ3Ba5cXlQhkwAR_b1rbKynp547RWk5X-lqaLaL9Y-v4Ef8sM_aSqGdQfLW74cMjt-87s94Au5FzXvKUGOqum7xbr-vR2ep_FyEwQyhTV8UUg\u0026h=2DhMfy8RYTwg2M8p1mvKENTxfXmIXYXbdnYw6SLYdiE" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11998" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132578647238\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=xiFFSdgJWhqfzRRYPRgOFn0vAEyOEBmRSY2GbDZKqt3gnopFSRQEssK_ZQ_KDaAAvmOP5vv2B59nCWvWI94Nom7q98MLkJAVVcENxuJfE-y4SV_hlSSY5pgN4TqCQiwSCserYKoB32C6NkwdIIgsKgFb5hYnGK7ATjzStHAS1VC_I2eYrGElu_OdSdDkGZsemtra7IM0xP2gdm8s36k4vJwdrbNHqSZmxL46_YE24NEFuOoifqF6d-qg6iAzr0gtTEKfCzqKCLNQHNy5Xw5RvqK83TPZTQDUHBBrgjR7f6vcltm3Z7PQM5v1A2LBYan3UERyrdW-ft9dreTY7yGABw\u0026h=074i0RJBmwW7sl1UMzsxXFKP8x3kgfDnlcjatKfSJEg" ], - "x-ms-request-id": [ "1deeb53e-93c7-4580-8a03-6395a5904f03" ], - "x-ms-correlation-request-id": [ "f91020c9-b6db-472d-990a-852c76308270" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064737Z:f91020c9-b6db-472d-990a-852c76308270" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 02C8122D14D74FE683B24DB6E470D979 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:47:37Z" ], - "Date": [ "Tue, 27 Feb 2024 06:47:37 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "572" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:45:36.0144636Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132578647238\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=xiFFSdgJWhqfzRRYPRgOFn0vAEyOEBmRSY2GbDZKqt3gnopFSRQEssK_ZQ_KDaAAvmOP5vv2B59nCWvWI94Nom7q98MLkJAVVcENxuJfE-y4SV_hlSSY5pgN4TqCQiwSCserYKoB32C6NkwdIIgsKgFb5hYnGK7ATjzStHAS1VC_I2eYrGElu_OdSdDkGZsemtra7IM0xP2gdm8s36k4vJwdrbNHqSZmxL46_YE24NEFuOoifqF6d-qg6iAzr0gtTEKfCzqKCLNQHNy5Xw5RvqK83TPZTQDUHBBrgjR7f6vcltm3Z7PQM5v1A2LBYan3UERyrdW-ft9dreTY7yGABw\u0026h=074i0RJBmwW7sl1UMzsxXFKP8x3kgfDnlcjatKfSJEg+6": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132578647238\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=xiFFSdgJWhqfzRRYPRgOFn0vAEyOEBmRSY2GbDZKqt3gnopFSRQEssK_ZQ_KDaAAvmOP5vv2B59nCWvWI94Nom7q98MLkJAVVcENxuJfE-y4SV_hlSSY5pgN4TqCQiwSCserYKoB32C6NkwdIIgsKgFb5hYnGK7ATjzStHAS1VC_I2eYrGElu_OdSdDkGZsemtra7IM0xP2gdm8s36k4vJwdrbNHqSZmxL46_YE24NEFuOoifqF6d-qg6iAzr0gtTEKfCzqKCLNQHNy5Xw5RvqK83TPZTQDUHBBrgjR7f6vcltm3Z7PQM5v1A2LBYan3UERyrdW-ft9dreTY7yGABw\u0026h=074i0RJBmwW7sl1UMzsxXFKP8x3kgfDnlcjatKfSJEg", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "14" ], - "x-ms-client-request-id": [ "6c444c77-c009-4251-9cf8-a22a88b55d4e" ], + "x-ms-unique-id": [ "11" ], + "x-ms-client-request-id": [ "e967d1ba-d3f1-48dd-8a43-2af4261cdf66" ], "CommandName": [ "Az.StackHCIVM.internal\\Stop-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Stop-AzStackHCIVMVirtualMachine_Stop" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -588,36 +455,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5b01310b-0000-0100-0000-65dd85a50000\"" ], + "ETag": [ "\"6d000a0a-0000-0100-0000-65fd20b50000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "973b4125-f57d-45d3-83cf-85ff91f82352" ], - "x-ms-correlation-request-id": [ "b1344859-f063-4471-9b88-e6b62e7c1969" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064808Z:b1344859-f063-4471-9b88-e6b62e7c1969" ], + "x-ms-request-id": [ "2c1cbca9-984a-4062-828b-8ecb2ec7548d" ], + "x-ms-correlation-request-id": [ "29c252e0-f396-41cc-b64a-41d504786f78" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061022Z:29c252e0-f396-41cc-b64a-41d504786f78" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 318B8B7ACD594DA19E2A887CAF85F184 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:48:08Z" ], - "Date": [ "Tue, 27 Feb 2024 06:48:07 GMT" ] + "X-MSEdge-Ref": [ "Ref A: EAF8ABE94F8644EE95710868149CFAD4 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:10:21Z" ], + "Date": [ "Fri, 22 Mar 2024 06:10:21 GMT" ] }, "ContentHeaders": { "Content-Length": [ "643" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:45:36.0144636Z\",\"endTime\":\"2024-02-27T06:48:05.6722027Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T06:08:50.6409029Z\",\"endTime\":\"2024-03-22T06:09:57.9200892Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131363438035\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=g2B26iuxr2279XHZuMQWbHUJskPXq1VsNuSzZsIHD6Pde566JkWkJRsfIUWkMfUdHf2AL_yw7cWqHI32iwI-h4GYnKmo5iZnl4RDqPhpxvOCK4xYj547l2ftupbjShJKOELAwqLGqxc-bQ9gUQY5_JzwEinmRpAX5p8AUhKk-d_F3ksNoPq7raBwuaHOeD1fWLWNJ74LuGVFM0HUzyY9CwcbmL2fhw0JIpBf1p-UYIA1SCwuiBvCgVj9FLtA5A3LwQPl98BgIOLZ2LxBscNe7y9eabx3GYJi4bIo5bvdIZAbf7NzJ_yQsjRcBf-ACBFelC_3BzrgW6PuSBpcHAx-RQ\u0026h=uulZIcOCeLMzEQ_mpSoMQkMSrbpmg7la3Ef5BmrufxM+7": { + "AzStackHCIVMVirtualMachine+[NoContext]+Stop+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845310478386\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Wr3R9pf2uYcYrT10_IY-xdX5oa7HKtDWLWlVPUClXplxS6YuPdswDqnnpuUtlvTas8BwtECiFgwyoOO7ePTjpauiFT5g7yxLxbt8Irp8KtuF4NRXA3Grgi0OsY4IzZcsezWhcCOOT82VETwez92td0jYIwGO8arHVP1ETFPsXF0iUOt8OouG0_rK5ih32-J0c3ykCr_9ssqTcVraSLrRW3pWi7SAyktl9ZlqFfbnwNlk1jNqppJTc5huQEPwwwZ8aIe50k-ebKZguvOM8tCUbF65GzjJ4Y9VCKlvSV-lqhzErmwcIuFlYNbdKBn3rnY2E9d3gDKEBPhYM39ehYTLbA\u0026h=PMjnl2wFh0m3B6HKSz-QkZOX0GbOx-PLT60zOPabUCY+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446131363438035\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=g2B26iuxr2279XHZuMQWbHUJskPXq1VsNuSzZsIHD6Pde566JkWkJRsfIUWkMfUdHf2AL_yw7cWqHI32iwI-h4GYnKmo5iZnl4RDqPhpxvOCK4xYj547l2ftupbjShJKOELAwqLGqxc-bQ9gUQY5_JzwEinmRpAX5p8AUhKk-d_F3ksNoPq7raBwuaHOeD1fWLWNJ74LuGVFM0HUzyY9CwcbmL2fhw0JIpBf1p-UYIA1SCwuiBvCgVj9FLtA5A3LwQPl98BgIOLZ2LxBscNe7y9eabx3GYJi4bIo5bvdIZAbf7NzJ_yQsjRcBf-ACBFelC_3BzrgW6PuSBpcHAx-RQ\u0026h=uulZIcOCeLMzEQ_mpSoMQkMSrbpmg7la3Ef5BmrufxM", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466845310478386\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Wr3R9pf2uYcYrT10_IY-xdX5oa7HKtDWLWlVPUClXplxS6YuPdswDqnnpuUtlvTas8BwtECiFgwyoOO7ePTjpauiFT5g7yxLxbt8Irp8KtuF4NRXA3Grgi0OsY4IzZcsezWhcCOOT82VETwez92td0jYIwGO8arHVP1ETFPsXF0iUOt8OouG0_rK5ih32-J0c3ykCr_9ssqTcVraSLrRW3pWi7SAyktl9ZlqFfbnwNlk1jNqppJTc5huQEPwwwZ8aIe50k-ebKZguvOM8tCUbF65GzjJ4Y9VCKlvSV-lqhzErmwcIuFlYNbdKBn3rnY2E9d3gDKEBPhYM39ehYTLbA\u0026h=PMjnl2wFh0m3B6HKSz-QkZOX0GbOx-PLT60zOPabUCY", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "15" ], - "x-ms-client-request-id": [ "6c444c77-c009-4251-9cf8-a22a88b55d4e" ], + "x-ms-unique-id": [ "12" ], + "x-ms-client-request-id": [ "e967d1ba-d3f1-48dd-8a43-2af4261cdf66" ], "CommandName": [ "Az.StackHCIVM.internal\\Stop-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Stop-AzStackHCIVMVirtualMachine_Stop" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -631,35 +498,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5b01310b-0000-0100-0000-65dd85a50000\"" ], + "ETag": [ "\"6d000a0a-0000-0100-0000-65fd20b50000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "6a66ff94-a7c7-4220-a397-a111d25ddd5b" ], - "x-ms-correlation-request-id": [ "25fb6140-511d-4595-97d6-f2333f0b17e7" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064808Z:25fb6140-511d-4595-97d6-f2333f0b17e7" ], + "x-ms-request-id": [ "71ab13bf-97b7-4924-8550-42e7d64a7fee" ], + "x-ms-correlation-request-id": [ "cd7701cc-5143-4c0e-b60a-d07abbe54e19" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061022Z:cd7701cc-5143-4c0e-b60a-d07abbe54e19" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 9325B0B0CDBD49219E960B4068003596 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:48:08Z" ], - "Date": [ "Tue, 27 Feb 2024 06:48:08 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 57CEB34ADC7C4911AC930F3E088466FB Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:10:22Z" ], + "Date": [ "Fri, 22 Mar 2024 06:10:21 GMT" ] }, "ContentHeaders": { "Content-Length": [ "643" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"7a2673bd-2c77-4e4a-a171-aabbb2b3d40e*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:45:36.0144636Z\",\"endTime\":\"2024-02-27T06:48:05.6722027Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"db6ed857-79d9-46b2-927f-4b96f3230d38*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T06:08:50.6409029Z\",\"endTime\":\"2024-03-22T06:09:57.9200892Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Start+$POST+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start?api-version=2023-09-01-preview+1": { + "AzStackHCIVMVirtualMachine+[NoContext]+Start+$POST+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start?api-version=2024-01-01+1": { "Request": { "Method": "POST", - "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default/start?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "16" ], - "x-ms-client-request-id": [ "9b684a55-394b-4204-a53d-a2a6d6038d8c" ], + "x-ms-unique-id": [ "13" ], + "x-ms-client-request-id": [ "57ff1c26-7ec0-43f1-b93c-d3c7a7fa2dcc" ], "CommandName": [ "Az.StackHCIVM.internal\\Start-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Start-AzStackHCIVMVirtualMachine_Start" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -674,20 +541,20 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132891735891\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=EHPWI_M5mmFLLTKLOWi5XjXHQHerC2vvaqEbYxKxQu12quXEsGB4GZrHaCzw_Hsfq1phE5RbYiGyQyFYeaRwC8grM2KubyqSMUExo_nb5pA6UYL7T4aEoikb7pAgcbmSLAzoceZ6IquJZ0_MnjHbeVM_5qvQpKjo8N0SYYNiOelO11JjsDM7QY0Z2m7Le6aDHfqae7f0XMzFzjinUqCAP0QffBtqHloSDRk-P-eljXXqQp-D-1P2rXz8SSpeFTuKEFBdyOzRtxNmFr9-eqe7OwkssO4yJgN0dAFEVCG_oJn9Ps_wDA931e_9VkrBCCpZJWr8hqyytz1aCWPJl6rAdw\u0026h=fxxu0Xjx5OPcAn2j1GxIL6g-Y_vO_cn3Lje2YnpTyj4" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846230097712\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=cI9EUCBq7xit5o8bNtEXDamDMR-4_ErzI4AZjSyyvhU-sIPUKSQ65mGtXUj1czs-OiWEAAdWosif5N5lWOXYY_Sqi6YeAxKP6QeLSILR4vEmpwAGMCnOvoQWwjJ9Wrn6vgupJWlpygJWM-Om-H7JMRX3olSko8o-LYSP4URZXL4IbkAuTc6v48WcAOHG3rTtO5aAaoN4ygPcyTwl9faL5PQQHdCKw_nxKHW7O9DdV6xoUyCgWkXy_NQaUZq4LSE-0d-omGTfnCK7-cBofadccfwcPq3n0hMg1Z8BWaO_vLo2WVwa7A1ymg0vc_dHl_Ds-CGuXCCyWYxEPTwkSV8QRA\u0026h=HB7t3DDXafLvgXEZwEhfZT3swGGjQN3uJ73yFu-Zc1s" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "f8a93120-77be-4ff7-bb22-242df6a8ea81" ], + "mise-correlation-id": [ "63124077-6668-47ba-855c-1120d6b5fbb9" ], "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], + "x-azure-ref": [ "20240322T061022Z-24dcs2exqh777fvyhek9qnuqcs00000001cg000000007ns2" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-Azure-Ref": [ "0qIXdZQAAAAC8Tgy6wmqDTaR9FMp/8GtHTU5aMjIxMDYwNjEzMDIzADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132891579651\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=02ww3rWMP5evYHXqqYXEck8WvXkS9pXiiOzxAxR9SopvM7P6uD0iZqtXuwcXwDoD4FjihdA-UDzu3lmWPDfyKzlqDjtj3DC_CscuxcyD4_W27PW4L1gf-Ass_ROO41zlOJsu0caEf8-CTv8kf_jMUohXpRgvx3o-bMqCSylcqr590_kPyL8oAG0JEP4s7hnrJffxrJ_oNGpJHqR3RWBH3Me7dciCyvVH6ycE0WfMzEU2_qt2oX6iKoyZlzmk_Jun0K6f9rybzNtVVWByDJQ6iPgRfB_nCMJRn6rXUkyAKJFpthFjdte_L0NR5g9LYieeY5TLwj2m5tqXH6AcmyLTgw\u0026h=-PgTXrPjBPcNwB04cn1r54uQYIkk17gdSk0XHyavrV0" ], - "x-ms-correlation-request-id": [ "914ecf82-8eb5-44c1-8b02-0f1d200f1c10" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064809Z:914ecf82-8eb5-44c1-8b02-0f1d200f1c10" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846230097712\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=cI9EUCBq7xit5o8bNtEXDamDMR-4_ErzI4AZjSyyvhU-sIPUKSQ65mGtXUj1czs-OiWEAAdWosif5N5lWOXYY_Sqi6YeAxKP6QeLSILR4vEmpwAGMCnOvoQWwjJ9Wrn6vgupJWlpygJWM-Om-H7JMRX3olSko8o-LYSP4URZXL4IbkAuTc6v48WcAOHG3rTtO5aAaoN4ygPcyTwl9faL5PQQHdCKw_nxKHW7O9DdV6xoUyCgWkXy_NQaUZq4LSE-0d-omGTfnCK7-cBofadccfwcPq3n0hMg1Z8BWaO_vLo2WVwa7A1ymg0vc_dHl_Ds-CGuXCCyWYxEPTwkSV8QRA\u0026h=HB7t3DDXafLvgXEZwEhfZT3swGGjQN3uJ73yFu-Zc1s" ], + "x-ms-correlation-request-id": [ "0f4e4c09-56dd-41c9-93aa-ad18419caa58" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061023Z:0f4e4c09-56dd-41c9-93aa-ad18419caa58" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 7F31542D60D64398BF8516CC854480ED Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:48:08Z" ], - "Date": [ "Tue, 27 Feb 2024 06:48:08 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 4B9C678B9BA947E8AB51767EA49B7235 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:10:22Z" ], + "Date": [ "Fri, 22 Mar 2024 06:10:22 GMT" ] }, "ContentHeaders": { "Content-Length": [ "4" ], @@ -698,16 +565,16 @@ "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132891579651\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=02ww3rWMP5evYHXqqYXEck8WvXkS9pXiiOzxAxR9SopvM7P6uD0iZqtXuwcXwDoD4FjihdA-UDzu3lmWPDfyKzlqDjtj3DC_CscuxcyD4_W27PW4L1gf-Ass_ROO41zlOJsu0caEf8-CTv8kf_jMUohXpRgvx3o-bMqCSylcqr590_kPyL8oAG0JEP4s7hnrJffxrJ_oNGpJHqR3RWBH3Me7dciCyvVH6ycE0WfMzEU2_qt2oX6iKoyZlzmk_Jun0K6f9rybzNtVVWByDJQ6iPgRfB_nCMJRn6rXUkyAKJFpthFjdte_L0NR5g9LYieeY5TLwj2m5tqXH6AcmyLTgw\u0026h=-PgTXrPjBPcNwB04cn1r54uQYIkk17gdSk0XHyavrV0+2": { + "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846230097712\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=cI9EUCBq7xit5o8bNtEXDamDMR-4_ErzI4AZjSyyvhU-sIPUKSQ65mGtXUj1czs-OiWEAAdWosif5N5lWOXYY_Sqi6YeAxKP6QeLSILR4vEmpwAGMCnOvoQWwjJ9Wrn6vgupJWlpygJWM-Om-H7JMRX3olSko8o-LYSP4URZXL4IbkAuTc6v48WcAOHG3rTtO5aAaoN4ygPcyTwl9faL5PQQHdCKw_nxKHW7O9DdV6xoUyCgWkXy_NQaUZq4LSE-0d-omGTfnCK7-cBofadccfwcPq3n0hMg1Z8BWaO_vLo2WVwa7A1ymg0vc_dHl_Ds-CGuXCCyWYxEPTwkSV8QRA\u0026h=HB7t3DDXafLvgXEZwEhfZT3swGGjQN3uJ73yFu-Zc1s+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132891579651\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=02ww3rWMP5evYHXqqYXEck8WvXkS9pXiiOzxAxR9SopvM7P6uD0iZqtXuwcXwDoD4FjihdA-UDzu3lmWPDfyKzlqDjtj3DC_CscuxcyD4_W27PW4L1gf-Ass_ROO41zlOJsu0caEf8-CTv8kf_jMUohXpRgvx3o-bMqCSylcqr590_kPyL8oAG0JEP4s7hnrJffxrJ_oNGpJHqR3RWBH3Me7dciCyvVH6ycE0WfMzEU2_qt2oX6iKoyZlzmk_Jun0K6f9rybzNtVVWByDJQ6iPgRfB_nCMJRn6rXUkyAKJFpthFjdte_L0NR5g9LYieeY5TLwj2m5tqXH6AcmyLTgw\u0026h=-PgTXrPjBPcNwB04cn1r54uQYIkk17gdSk0XHyavrV0", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846230097712\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=cI9EUCBq7xit5o8bNtEXDamDMR-4_ErzI4AZjSyyvhU-sIPUKSQ65mGtXUj1czs-OiWEAAdWosif5N5lWOXYY_Sqi6YeAxKP6QeLSILR4vEmpwAGMCnOvoQWwjJ9Wrn6vgupJWlpygJWM-Om-H7JMRX3olSko8o-LYSP4URZXL4IbkAuTc6v48WcAOHG3rTtO5aAaoN4ygPcyTwl9faL5PQQHdCKw_nxKHW7O9DdV6xoUyCgWkXy_NQaUZq4LSE-0d-omGTfnCK7-cBofadccfwcPq3n0hMg1Z8BWaO_vLo2WVwa7A1ymg0vc_dHl_Ds-CGuXCCyWYxEPTwkSV8QRA\u0026h=HB7t3DDXafLvgXEZwEhfZT3swGGjQN3uJ73yFu-Zc1s", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "17" ], - "x-ms-client-request-id": [ "9b684a55-394b-4204-a53d-a2a6d6038d8c" ], + "x-ms-unique-id": [ "14" ], + "x-ms-client-request-id": [ "57ff1c26-7ec0-43f1-b93c-d3c7a7fa2dcc" ], "CommandName": [ "Az.StackHCIVM.internal\\Start-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Start-AzStackHCIVMVirtualMachine_Start" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -721,83 +588,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5b01a40c-0000-0100-0000-65dd85b00000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133195094595\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=omGjJ7oMM6GbLD2RNQKbl0cwIdLMnCKWHCv0t3x7FCmlBiMAtRDJmkLSYBoOhS_wp9clzuCbhVm4mnTj7sKCGEnv8NJ2FyPktn2tIHua1M8nU2vc9BWSTUucLhg32ngc2G3sYpnOiJCm1_6x0JzL3OkNY4_4PSW7XA1CMOdjErIkMd1fz4W6GxfD4-0wOuc5cKlRsQxL2oy9TRnxJOitPeKzgG5pb9UTiKBJadwBLB0jl7VJvAjNG4r72GHj28i1WxbrIqJ65-TnA8Rbhj-K_osdYjY1z80IhXJh8kzRLOx7CzIUbLNdSGbY7WM6LDm0QeoqAzIvqlIMTuWRHhyleA\u0026h=m8kj8Xl4AEVxNhRSKJoeQ8-Kc2DIVAgqMENYMgw7USY" ], + "ETag": [ "\"6d002a18-0000-0100-0000-65fd20d40000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846533508445\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=UzTe0Y1p4vCKocLOMVkDoPVyhuDrdd870IxF5nc_zLvzP4-OGTqLA225kvtSStohLdZktS-Aqp_ASnchLDL2jbqc-94ytcKTS9OPPV1mc3Oaehs5Fx99KiODy3TnSSMA0CFmMGhL36FofMnJ_6L60nD9mMwqEGc1JuAqs50UIm9geXXEuKR2IcTlf_55PDsPUfEZkqZOEOzvaoAQjrt8wYqs8GF0SmPGcSXPaCef1tsSVxFeVSDUT2sWbK01q7wMknfnwWS1h3cqI7PnCEbNrtsfTKeMah5adqGLnWVssowKpM0K89yoMMDo8B4eW5LBzalQuNdQ8cpX7hBq46HwaQ\u0026h=JYdDRJrNPPUMgHNWOH4QBGjGnw0-HJDOUWTjocd05sw" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133195094595\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=omGjJ7oMM6GbLD2RNQKbl0cwIdLMnCKWHCv0t3x7FCmlBiMAtRDJmkLSYBoOhS_wp9clzuCbhVm4mnTj7sKCGEnv8NJ2FyPktn2tIHua1M8nU2vc9BWSTUucLhg32ngc2G3sYpnOiJCm1_6x0JzL3OkNY4_4PSW7XA1CMOdjErIkMd1fz4W6GxfD4-0wOuc5cKlRsQxL2oy9TRnxJOitPeKzgG5pb9UTiKBJadwBLB0jl7VJvAjNG4r72GHj28i1WxbrIqJ65-TnA8Rbhj-K_osdYjY1z80IhXJh8kzRLOx7CzIUbLNdSGbY7WM6LDm0QeoqAzIvqlIMTuWRHhyleA\u0026h=m8kj8Xl4AEVxNhRSKJoeQ8-Kc2DIVAgqMENYMgw7USY" ], - "x-ms-request-id": [ "2d6f9bb4-9c3a-423e-ae6a-b7db3312c866" ], - "x-ms-correlation-request-id": [ "05c356a4-3974-4577-b334-6eb1251c1d40" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064839Z:05c356a4-3974-4577-b334-6eb1251c1d40" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: B51A82339C55458895FD228E01A86B1D Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:48:39Z" ], - "Date": [ "Tue, 27 Feb 2024 06:48:39 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "572" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:48:08.7865183Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133195094595\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=omGjJ7oMM6GbLD2RNQKbl0cwIdLMnCKWHCv0t3x7FCmlBiMAtRDJmkLSYBoOhS_wp9clzuCbhVm4mnTj7sKCGEnv8NJ2FyPktn2tIHua1M8nU2vc9BWSTUucLhg32ngc2G3sYpnOiJCm1_6x0JzL3OkNY4_4PSW7XA1CMOdjErIkMd1fz4W6GxfD4-0wOuc5cKlRsQxL2oy9TRnxJOitPeKzgG5pb9UTiKBJadwBLB0jl7VJvAjNG4r72GHj28i1WxbrIqJ65-TnA8Rbhj-K_osdYjY1z80IhXJh8kzRLOx7CzIUbLNdSGbY7WM6LDm0QeoqAzIvqlIMTuWRHhyleA\u0026h=m8kj8Xl4AEVxNhRSKJoeQ8-Kc2DIVAgqMENYMgw7USY+3": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133195094595\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=omGjJ7oMM6GbLD2RNQKbl0cwIdLMnCKWHCv0t3x7FCmlBiMAtRDJmkLSYBoOhS_wp9clzuCbhVm4mnTj7sKCGEnv8NJ2FyPktn2tIHua1M8nU2vc9BWSTUucLhg32ngc2G3sYpnOiJCm1_6x0JzL3OkNY4_4PSW7XA1CMOdjErIkMd1fz4W6GxfD4-0wOuc5cKlRsQxL2oy9TRnxJOitPeKzgG5pb9UTiKBJadwBLB0jl7VJvAjNG4r72GHj28i1WxbrIqJ65-TnA8Rbhj-K_osdYjY1z80IhXJh8kzRLOx7CzIUbLNdSGbY7WM6LDm0QeoqAzIvqlIMTuWRHhyleA\u0026h=m8kj8Xl4AEVxNhRSKJoeQ8-Kc2DIVAgqMENYMgw7USY", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "18" ], - "x-ms-client-request-id": [ "9b684a55-394b-4204-a53d-a2a6d6038d8c" ], - "CommandName": [ "Az.StackHCIVM.internal\\Start-AzStackHCIVMVirtualMachine" ], - "FullCommandName": [ "Start-AzStackHCIVMVirtualMachine_Start" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 202, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5b01a40c-0000-0100-0000-65dd85b00000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133499546957\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=qMt3QIlKQgFQy9g0F4KRV6M3qLZiMwcRzTZwYw6t6SQKisFYWzKITPokTlGisp_P9j3dIJZiATgPWAVJjlNvOEz2Pq-sGACSLwS_06cKnklEoC2mTwA0wCqAiHU703MmaesiOM5dTovOTrYiqnKUzzmTi5soOHHSw2rgxhU-PN3FjyVLu6lcxZmLFhbQnf4ESgod_WNgtPxJVgaBDe_KvBN-HSP_AFpvHe1ONL3ceT7km1aeneUwfVP4FCVvI5mz5jc3GRJURqzbI55oxPocQ0_a3rnXtgefvLpM94MvRFh2GRX61Wfuwv3jgqQTmKzFkqn-UXpPtVkJ5F3G5Rd2TA\u0026h=-Gr-whbCztq0wg1mxp4_TOmVGMJT-hmH-8rNYNT6DUI" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11998" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133499391004\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=tHHof0YJCiOkNMdML5MTzgVb8SW0XYzUz2QRRYc5NO0BYI-Up7qPL-TN3w-u7EDvp2PRe6h8GucdV3_dkmepZ0HtdDYMgq7uMJlFA9ZNJ_Q3B3w98wgJjDWXOPSj59Xw-SLtb-9eC36KRu5lAtFKmdbtvXjwDU9591g2MrPspSs6nGdjw_ghVucmhe2hf5Qahi3TU1Dv9pkOGt3ejOWkErw4P81Q14AqkADvnQg6UbnudpJCsxeovPrWVVkJjX9o9vHKL5eHYkXGmaEvGPSVlS3IwpNbI6tkws82BYUfaSpxFgnHGfL08Wf3Vw24eXL5t-AaNiaeXCvHkPsDE0Q84w\u0026h=Q7silqJtWqIM_4LxWJHjSE6P3JSm6FkjG7uo2DIOCeU" ], - "x-ms-request-id": [ "2f7ab55b-23e6-447a-a24f-22cc0b56e289" ], - "x-ms-correlation-request-id": [ "77714254-b507-488d-be03-8b8ec000596e" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064909Z:77714254-b507-488d-be03-8b8ec000596e" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846533352209\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=o2AIgIVF3GQm_9-c5Z3nCq1BFP2QRhmKJc69xhFGM0OaJV2Pdxm5mBficfOfutkft8mu-hUlQIgKNUhtYssEHFIXpRx0aI0UcJfEz-xABCEoBI2LnotcmhTHm30I_Qx0AZHMNCKB6CNQHtJnZpuEAOiRbiePiIONGePp6s2MbfMHFtdfo833yNys3JeurCb-pxNBc0coMGIzCibAS5gsz_hDGbBdraZo7NQQxztSYPhi1iJqDW67tjD6cHPlvI6qp2bTF9-anGu1lrk6V14IyLL9P8vl_SEfstJZNhf7uDnArdzBv8IWxNKCXHpouGlnpb4q2rvJWSK6jWnff0wY3A\u0026h=1hZqYbwsXl_IL5yYIkDWtM7dELmdWJ-CSG65Ckc9tOk" ], + "x-ms-request-id": [ "55b1d46e-8c2c-48f6-b183-e84b459aa670" ], + "x-ms-correlation-request-id": [ "9c640073-48ff-4a87-88b4-f95c3d142cc0" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061053Z:9c640073-48ff-4a87-88b4-f95c3d142cc0" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: DE0371B354E6446F8D915C09FF4AAA27 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:49:09Z" ], - "Date": [ "Tue, 27 Feb 2024 06:49:09 GMT" ] + "X-MSEdge-Ref": [ "Ref A: F222C33EC0B24ADC9979D96786C58553 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:10:53Z" ], + "Date": [ "Fri, 22 Mar 2024 06:10:53 GMT" ] }, "ContentHeaders": { "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:48:08.7865183Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T06:10:22.6318716Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133499391004\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=tHHof0YJCiOkNMdML5MTzgVb8SW0XYzUz2QRRYc5NO0BYI-Up7qPL-TN3w-u7EDvp2PRe6h8GucdV3_dkmepZ0HtdDYMgq7uMJlFA9ZNJ_Q3B3w98wgJjDWXOPSj59Xw-SLtb-9eC36KRu5lAtFKmdbtvXjwDU9591g2MrPspSs6nGdjw_ghVucmhe2hf5Qahi3TU1Dv9pkOGt3ejOWkErw4P81Q14AqkADvnQg6UbnudpJCsxeovPrWVVkJjX9o9vHKL5eHYkXGmaEvGPSVlS3IwpNbI6tkws82BYUfaSpxFgnHGfL08Wf3Vw24eXL5t-AaNiaeXCvHkPsDE0Q84w\u0026h=Q7silqJtWqIM_4LxWJHjSE6P3JSm6FkjG7uo2DIOCeU+4": { + "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846533352209\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=o2AIgIVF3GQm_9-c5Z3nCq1BFP2QRhmKJc69xhFGM0OaJV2Pdxm5mBficfOfutkft8mu-hUlQIgKNUhtYssEHFIXpRx0aI0UcJfEz-xABCEoBI2LnotcmhTHm30I_Qx0AZHMNCKB6CNQHtJnZpuEAOiRbiePiIONGePp6s2MbfMHFtdfo833yNys3JeurCb-pxNBc0coMGIzCibAS5gsz_hDGbBdraZo7NQQxztSYPhi1iJqDW67tjD6cHPlvI6qp2bTF9-anGu1lrk6V14IyLL9P8vl_SEfstJZNhf7uDnArdzBv8IWxNKCXHpouGlnpb4q2rvJWSK6jWnff0wY3A\u0026h=1hZqYbwsXl_IL5yYIkDWtM7dELmdWJ-CSG65Ckc9tOk+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133499391004\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=tHHof0YJCiOkNMdML5MTzgVb8SW0XYzUz2QRRYc5NO0BYI-Up7qPL-TN3w-u7EDvp2PRe6h8GucdV3_dkmepZ0HtdDYMgq7uMJlFA9ZNJ_Q3B3w98wgJjDWXOPSj59Xw-SLtb-9eC36KRu5lAtFKmdbtvXjwDU9591g2MrPspSs6nGdjw_ghVucmhe2hf5Qahi3TU1Dv9pkOGt3ejOWkErw4P81Q14AqkADvnQg6UbnudpJCsxeovPrWVVkJjX9o9vHKL5eHYkXGmaEvGPSVlS3IwpNbI6tkws82BYUfaSpxFgnHGfL08Wf3Vw24eXL5t-AaNiaeXCvHkPsDE0Q84w\u0026h=Q7silqJtWqIM_4LxWJHjSE6P3JSm6FkjG7uo2DIOCeU", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846533352209\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=o2AIgIVF3GQm_9-c5Z3nCq1BFP2QRhmKJc69xhFGM0OaJV2Pdxm5mBficfOfutkft8mu-hUlQIgKNUhtYssEHFIXpRx0aI0UcJfEz-xABCEoBI2LnotcmhTHm30I_Qx0AZHMNCKB6CNQHtJnZpuEAOiRbiePiIONGePp6s2MbfMHFtdfo833yNys3JeurCb-pxNBc0coMGIzCibAS5gsz_hDGbBdraZo7NQQxztSYPhi1iJqDW67tjD6cHPlvI6qp2bTF9-anGu1lrk6V14IyLL9P8vl_SEfstJZNhf7uDnArdzBv8IWxNKCXHpouGlnpb4q2rvJWSK6jWnff0wY3A\u0026h=1hZqYbwsXl_IL5yYIkDWtM7dELmdWJ-CSG65Ckc9tOk", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "19" ], - "x-ms-client-request-id": [ "9b684a55-394b-4204-a53d-a2a6d6038d8c" ], + "x-ms-unique-id": [ "15" ], + "x-ms-client-request-id": [ "57ff1c26-7ec0-43f1-b93c-d3c7a7fa2dcc" ], "CommandName": [ "Az.StackHCIVM.internal\\Start-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Start-AzStackHCIVMVirtualMachine_Start" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -811,83 +633,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5b01a40c-0000-0100-0000-65dd85b00000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133803081559\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=TEGQkHH95MzoK4wy7m2Es3ywq-WkaKLVe_klizAZMinqTIk5ZFuWO5hvpxB0UNVZSOk3kBb__ZN_CVBGA-Y3jP9ECwZQsCZegNTZPvjza8zOr0nP5oO13U42M7yQA4aafvtV-6xiQ4zc1Rc73oFU2iQl0VXa0ur6wOZFPJ225VwxkDMJ0viceDRCjQeHfgTVtbxTUq8oe03QJzuEcJ2aiDnA80eHlo3ekRxIfKM14WhijRgoyOim8fROteLRD_08Aq95wMTkOatNwWiuN3U5dHPyrEgEus_6K_hMIJJWNQvF3jMkGnLDg5OIyNGWZQbm_Hts5HBBgN8vJEzzTA5t8w\u0026h=jt99I30vaXLOwvx9maguanXQ-BeTeZVmfYiapd8VpuQ" ], + "ETag": [ "\"6d002a18-0000-0100-0000-65fd20d40000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846837595080\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=FlgcXj3RSrquh9uw3AAnrO73IA4cYEz9dEx9vMnUDZniffIGYF_xdzloWokr4mPj8Agt0OlUxfg0s-f9Xr3FBunzvjM1N_zbIcgfTrekWtZ2Frg8bjKXVQPjWS-1fqoTFmKk-Re-A42-a2-XaF5pOYazfLIKL-IM0ro3xMmBnb1Cbbf-DuQs6RPkvDHtpOvPwG8pykqCGRVrFKom-AMRWJqb9XruyqUBn2bWj5dyBZuw8x7bSCvDOSg_98Ze_3RpZRfHjIpHuCxn1gpz9mJ8koTB4tNt3JsRQQCu3xhvsedtsQVavTzFQBcO9FNLfvrg1jk9z5Xm5FziaPy6kW1hwg\u0026h=dNMigbCJuYV9vKgg5Z_CapgmGqi5ojpNEA2qdcSTaYo" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133803081559\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=TEGQkHH95MzoK4wy7m2Es3ywq-WkaKLVe_klizAZMinqTIk5ZFuWO5hvpxB0UNVZSOk3kBb__ZN_CVBGA-Y3jP9ECwZQsCZegNTZPvjza8zOr0nP5oO13U42M7yQA4aafvtV-6xiQ4zc1Rc73oFU2iQl0VXa0ur6wOZFPJ225VwxkDMJ0viceDRCjQeHfgTVtbxTUq8oe03QJzuEcJ2aiDnA80eHlo3ekRxIfKM14WhijRgoyOim8fROteLRD_08Aq95wMTkOatNwWiuN3U5dHPyrEgEus_6K_hMIJJWNQvF3jMkGnLDg5OIyNGWZQbm_Hts5HBBgN8vJEzzTA5t8w\u0026h=jt99I30vaXLOwvx9maguanXQ-BeTeZVmfYiapd8VpuQ" ], - "x-ms-request-id": [ "d1e15127-1854-4c48-8af2-d9b2547c5632" ], - "x-ms-correlation-request-id": [ "17a5bea1-f794-4d63-842a-d96728ba67bf" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T064940Z:17a5bea1-f794-4d63-842a-d96728ba67bf" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846837595080\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=FlgcXj3RSrquh9uw3AAnrO73IA4cYEz9dEx9vMnUDZniffIGYF_xdzloWokr4mPj8Agt0OlUxfg0s-f9Xr3FBunzvjM1N_zbIcgfTrekWtZ2Frg8bjKXVQPjWS-1fqoTFmKk-Re-A42-a2-XaF5pOYazfLIKL-IM0ro3xMmBnb1Cbbf-DuQs6RPkvDHtpOvPwG8pykqCGRVrFKom-AMRWJqb9XruyqUBn2bWj5dyBZuw8x7bSCvDOSg_98Ze_3RpZRfHjIpHuCxn1gpz9mJ8koTB4tNt3JsRQQCu3xhvsedtsQVavTzFQBcO9FNLfvrg1jk9z5Xm5FziaPy6kW1hwg\u0026h=dNMigbCJuYV9vKgg5Z_CapgmGqi5ojpNEA2qdcSTaYo" ], + "x-ms-request-id": [ "e276b8d6-f05e-4c67-b734-30d54e0e437b" ], + "x-ms-correlation-request-id": [ "3a362dd1-4e6f-409d-86b2-ff9444437027" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061123Z:3a362dd1-4e6f-409d-86b2-ff9444437027" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0D352D6EBC0543299F2AA576A612B7F7 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:49:40Z" ], - "Date": [ "Tue, 27 Feb 2024 06:49:39 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 5C161B6A039C4E1FBA52337B3AD8C7C8 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:11:23Z" ], + "Date": [ "Fri, 22 Mar 2024 06:11:23 GMT" ] }, "ContentHeaders": { "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:48:08.7865183Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T06:10:22.6318716Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133803081559\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=TEGQkHH95MzoK4wy7m2Es3ywq-WkaKLVe_klizAZMinqTIk5ZFuWO5hvpxB0UNVZSOk3kBb__ZN_CVBGA-Y3jP9ECwZQsCZegNTZPvjza8zOr0nP5oO13U42M7yQA4aafvtV-6xiQ4zc1Rc73oFU2iQl0VXa0ur6wOZFPJ225VwxkDMJ0viceDRCjQeHfgTVtbxTUq8oe03QJzuEcJ2aiDnA80eHlo3ekRxIfKM14WhijRgoyOim8fROteLRD_08Aq95wMTkOatNwWiuN3U5dHPyrEgEus_6K_hMIJJWNQvF3jMkGnLDg5OIyNGWZQbm_Hts5HBBgN8vJEzzTA5t8w\u0026h=jt99I30vaXLOwvx9maguanXQ-BeTeZVmfYiapd8VpuQ+5": { + "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846837595080\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=FlgcXj3RSrquh9uw3AAnrO73IA4cYEz9dEx9vMnUDZniffIGYF_xdzloWokr4mPj8Agt0OlUxfg0s-f9Xr3FBunzvjM1N_zbIcgfTrekWtZ2Frg8bjKXVQPjWS-1fqoTFmKk-Re-A42-a2-XaF5pOYazfLIKL-IM0ro3xMmBnb1Cbbf-DuQs6RPkvDHtpOvPwG8pykqCGRVrFKom-AMRWJqb9XruyqUBn2bWj5dyBZuw8x7bSCvDOSg_98Ze_3RpZRfHjIpHuCxn1gpz9mJ8koTB4tNt3JsRQQCu3xhvsedtsQVavTzFQBcO9FNLfvrg1jk9z5Xm5FziaPy6kW1hwg\u0026h=dNMigbCJuYV9vKgg5Z_CapgmGqi5ojpNEA2qdcSTaYo+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446133803081559\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=TEGQkHH95MzoK4wy7m2Es3ywq-WkaKLVe_klizAZMinqTIk5ZFuWO5hvpxB0UNVZSOk3kBb__ZN_CVBGA-Y3jP9ECwZQsCZegNTZPvjza8zOr0nP5oO13U42M7yQA4aafvtV-6xiQ4zc1Rc73oFU2iQl0VXa0ur6wOZFPJ225VwxkDMJ0viceDRCjQeHfgTVtbxTUq8oe03QJzuEcJ2aiDnA80eHlo3ekRxIfKM14WhijRgoyOim8fROteLRD_08Aq95wMTkOatNwWiuN3U5dHPyrEgEus_6K_hMIJJWNQvF3jMkGnLDg5OIyNGWZQbm_Hts5HBBgN8vJEzzTA5t8w\u0026h=jt99I30vaXLOwvx9maguanXQ-BeTeZVmfYiapd8VpuQ", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846837595080\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=FlgcXj3RSrquh9uw3AAnrO73IA4cYEz9dEx9vMnUDZniffIGYF_xdzloWokr4mPj8Agt0OlUxfg0s-f9Xr3FBunzvjM1N_zbIcgfTrekWtZ2Frg8bjKXVQPjWS-1fqoTFmKk-Re-A42-a2-XaF5pOYazfLIKL-IM0ro3xMmBnb1Cbbf-DuQs6RPkvDHtpOvPwG8pykqCGRVrFKom-AMRWJqb9XruyqUBn2bWj5dyBZuw8x7bSCvDOSg_98Ze_3RpZRfHjIpHuCxn1gpz9mJ8koTB4tNt3JsRQQCu3xhvsedtsQVavTzFQBcO9FNLfvrg1jk9z5Xm5FziaPy6kW1hwg\u0026h=dNMigbCJuYV9vKgg5Z_CapgmGqi5ojpNEA2qdcSTaYo", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "20" ], - "x-ms-client-request-id": [ "9b684a55-394b-4204-a53d-a2a6d6038d8c" ], - "CommandName": [ "Az.StackHCIVM.internal\\Start-AzStackHCIVMVirtualMachine" ], - "FullCommandName": [ "Start-AzStackHCIVMVirtualMachine_Start" ], - "ParameterSetName": [ "__AllParameterSets" ], - "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ] - }, - "ContentHeaders": { - } - }, - "Response": { - "StatusCode": 202, - "Headers": { - "Cache-Control": [ "no-cache" ], - "Pragma": [ "no-cache" ], - "ETag": [ "\"5b01a40c-0000-0100-0000-65dd85b00000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134106591038\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=wjP2Igw1mz4u7842sQUq5Y1ZIcOT8YPFqp0RMbyT_YjQsjcrlafL61J5uOInw2lTFtTiBvIjk3EWJwv_JhK1AwZajnmtPgOq_eXN6bnrQnOndW8v-hxHU5BOEjNR0UHdq88rF29JCg8iEheIFVa6OhGU97e1xF0sRFkLyw3S6FqO8cGEGjC0DRsLqbDG0aMKM1r-qd17FXd_8Ry9Hw6xtY1fW6zn6IkDyGjoVWCrx0Rnot2WXcWKNS9WrYTcm2FSA0jaD-SziOEm10S-9OlxGNORiEodNF5kSRKDioQbVLbu0uXPsvTe6F11QRg84o54F_bxelovUdEI1BjnYGnwFQ\u0026h=RmhiSnae_3B3NW-wlQh5LKrrbYKBFQgjbw9rb70tkXA" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11998" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134106435135\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=xzy8aQ5jSyMc1ppONZ5KTKEpjxo64nlhZcIhlO1iLXkKCLl_uMdcP8eXTByYjFRAch3LCqrWTzpPhZoKP-nzuV078_3wDkl5dJOWTOTKE4vCqbi8p9mNAYD3l46QmHHUFz-Poiguqu8MV5mFRo9l9ZKLbv7ajtMMb1eKCBFwFg2jUejL7EpdZCmJmtvYipk309wLqbiyBa5sjQFss1pVT1ifIW1PFJrBbPxFGuLg0jEq6z1bj3uLU2UC99SdwAo_DIw0qj3y9nPvOq5cC5-bOhYvMbaGp1yZCkM4yBPvu9VpakPZoG0EyfkdR9YISE4fdnGADsfzBmtxGW-X69cy1A\u0026h=Yai0XqxJ_qzWbzVDcj5JjQp-o1N1GZJDU5gJwBWGrvQ" ], - "x-ms-request-id": [ "300adf42-5ec2-42ae-92cf-8c606486d3ba" ], - "x-ms-correlation-request-id": [ "7213bc62-0b16-4fc2-9265-4cbf0760ca18" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065010Z:7213bc62-0b16-4fc2-9265-4cbf0760ca18" ], - "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-Content-Type-Options": [ "nosniff" ], - "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: FFB54874C8BC4045A86193C3BB28E3F8 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:50:10Z" ], - "Date": [ "Tue, 27 Feb 2024 06:50:10 GMT" ] - }, - "ContentHeaders": { - "Content-Length": [ "572" ], - "Content-Type": [ "application/json; charset=utf-8" ], - "Expires": [ "-1" ] - }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Accepted\",\"startTime\":\"2024-02-27T06:48:08.7865183Z\"}", - "isContentBase64": false - } - }, - "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134106435135\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=xzy8aQ5jSyMc1ppONZ5KTKEpjxo64nlhZcIhlO1iLXkKCLl_uMdcP8eXTByYjFRAch3LCqrWTzpPhZoKP-nzuV078_3wDkl5dJOWTOTKE4vCqbi8p9mNAYD3l46QmHHUFz-Poiguqu8MV5mFRo9l9ZKLbv7ajtMMb1eKCBFwFg2jUejL7EpdZCmJmtvYipk309wLqbiyBa5sjQFss1pVT1ifIW1PFJrBbPxFGuLg0jEq6z1bj3uLU2UC99SdwAo_DIw0qj3y9nPvOq5cC5-bOhYvMbaGp1yZCkM4yBPvu9VpakPZoG0EyfkdR9YISE4fdnGADsfzBmtxGW-X69cy1A\u0026h=Yai0XqxJ_qzWbzVDcj5JjQp-o1N1GZJDU5gJwBWGrvQ+6": { - "Request": { - "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134106435135\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=xzy8aQ5jSyMc1ppONZ5KTKEpjxo64nlhZcIhlO1iLXkKCLl_uMdcP8eXTByYjFRAch3LCqrWTzpPhZoKP-nzuV078_3wDkl5dJOWTOTKE4vCqbi8p9mNAYD3l46QmHHUFz-Poiguqu8MV5mFRo9l9ZKLbv7ajtMMb1eKCBFwFg2jUejL7EpdZCmJmtvYipk309wLqbiyBa5sjQFss1pVT1ifIW1PFJrBbPxFGuLg0jEq6z1bj3uLU2UC99SdwAo_DIw0qj3y9nPvOq5cC5-bOhYvMbaGp1yZCkM4yBPvu9VpakPZoG0EyfkdR9YISE4fdnGADsfzBmtxGW-X69cy1A\u0026h=Yai0XqxJ_qzWbzVDcj5JjQp-o1N1GZJDU5gJwBWGrvQ", - "Content": null, - "isContentBase64": false, - "Headers": { - "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "21" ], - "x-ms-client-request-id": [ "9b684a55-394b-4204-a53d-a2a6d6038d8c" ], + "x-ms-unique-id": [ "16" ], + "x-ms-client-request-id": [ "57ff1c26-7ec0-43f1-b93c-d3c7a7fa2dcc" ], "CommandName": [ "Az.StackHCIVM.internal\\Start-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Start-AzStackHCIVMVirtualMachine_Start" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -901,36 +678,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5b014e1c-0000-0100-0000-65dd863c0000\"" ], + "ETag": [ "\"6d00fc30-0000-0100-0000-65fd21130000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "e2014a7b-1742-4152-b8ec-543afd7542b7" ], - "x-ms-correlation-request-id": [ "8baceb17-93fa-43d0-b05e-8c01e26a9372" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065041Z:8baceb17-93fa-43d0-b05e-8c01e26a9372" ], + "x-ms-request-id": [ "24f2d28e-72a8-4c7d-b8f3-a74dae6690dd" ], + "x-ms-correlation-request-id": [ "e6423dca-6ca2-478b-9abb-565cc268b40b" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061154Z:e6423dca-6ca2-478b-9abb-565cc268b40b" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 823CBC6EDDAF440C95ADFAEBE6ED88DF Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:50:40Z" ], - "Date": [ "Tue, 27 Feb 2024 06:50:40 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 52E25D0A2692440B9E4C132BA8C45FAC Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:11:54Z" ], + "Date": [ "Fri, 22 Mar 2024 06:11:53 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "643" ], + "Content-Length": [ "642" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:48:08.7865183Z\",\"endTime\":\"2024-02-27T06:50:36.6452672Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T06:10:22.6318716Z\",\"endTime\":\"2024-03-22T06:11:31.592199Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132891735891\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=EHPWI_M5mmFLLTKLOWi5XjXHQHerC2vvaqEbYxKxQu12quXEsGB4GZrHaCzw_Hsfq1phE5RbYiGyQyFYeaRwC8grM2KubyqSMUExo_nb5pA6UYL7T4aEoikb7pAgcbmSLAzoceZ6IquJZ0_MnjHbeVM_5qvQpKjo8N0SYYNiOelO11JjsDM7QY0Z2m7Le6aDHfqae7f0XMzFzjinUqCAP0QffBtqHloSDRk-P-eljXXqQp-D-1P2rXz8SSpeFTuKEFBdyOzRtxNmFr9-eqe7OwkssO4yJgN0dAFEVCG_oJn9Ps_wDA931e_9VkrBCCpZJWr8hqyytz1aCWPJl6rAdw\u0026h=fxxu0Xjx5OPcAn2j1GxIL6g-Y_vO_cn3Lje2YnpTyj4+7": { + "AzStackHCIVMVirtualMachine+[NoContext]+Start+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846230097712\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=cI9EUCBq7xit5o8bNtEXDamDMR-4_ErzI4AZjSyyvhU-sIPUKSQ65mGtXUj1czs-OiWEAAdWosif5N5lWOXYY_Sqi6YeAxKP6QeLSILR4vEmpwAGMCnOvoQWwjJ9Wrn6vgupJWlpygJWM-Om-H7JMRX3olSko8o-LYSP4URZXL4IbkAuTc6v48WcAOHG3rTtO5aAaoN4ygPcyTwl9faL5PQQHdCKw_nxKHW7O9DdV6xoUyCgWkXy_NQaUZq4LSE-0d-omGTfnCK7-cBofadccfwcPq3n0hMg1Z8BWaO_vLo2WVwa7A1ymg0vc_dHl_Ds-CGuXCCyWYxEPTwkSV8QRA\u0026h=HB7t3DDXafLvgXEZwEhfZT3swGGjQN3uJ73yFu-Zc1s+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446132891735891\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=EHPWI_M5mmFLLTKLOWi5XjXHQHerC2vvaqEbYxKxQu12quXEsGB4GZrHaCzw_Hsfq1phE5RbYiGyQyFYeaRwC8grM2KubyqSMUExo_nb5pA6UYL7T4aEoikb7pAgcbmSLAzoceZ6IquJZ0_MnjHbeVM_5qvQpKjo8N0SYYNiOelO11JjsDM7QY0Z2m7Le6aDHfqae7f0XMzFzjinUqCAP0QffBtqHloSDRk-P-eljXXqQp-D-1P2rXz8SSpeFTuKEFBdyOzRtxNmFr9-eqe7OwkssO4yJgN0dAFEVCG_oJn9Ps_wDA931e_9VkrBCCpZJWr8hqyytz1aCWPJl6rAdw\u0026h=fxxu0Xjx5OPcAn2j1GxIL6g-Y_vO_cn3Lje2YnpTyj4", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466846230097712\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=cI9EUCBq7xit5o8bNtEXDamDMR-4_ErzI4AZjSyyvhU-sIPUKSQ65mGtXUj1czs-OiWEAAdWosif5N5lWOXYY_Sqi6YeAxKP6QeLSILR4vEmpwAGMCnOvoQWwjJ9Wrn6vgupJWlpygJWM-Om-H7JMRX3olSko8o-LYSP4URZXL4IbkAuTc6v48WcAOHG3rTtO5aAaoN4ygPcyTwl9faL5PQQHdCKw_nxKHW7O9DdV6xoUyCgWkXy_NQaUZq4LSE-0d-omGTfnCK7-cBofadccfwcPq3n0hMg1Z8BWaO_vLo2WVwa7A1ymg0vc_dHl_Ds-CGuXCCyWYxEPTwkSV8QRA\u0026h=HB7t3DDXafLvgXEZwEhfZT3swGGjQN3uJ73yFu-Zc1s", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "22" ], - "x-ms-client-request-id": [ "9b684a55-394b-4204-a53d-a2a6d6038d8c" ], + "x-ms-unique-id": [ "17" ], + "x-ms-client-request-id": [ "57ff1c26-7ec0-43f1-b93c-d3c7a7fa2dcc" ], "CommandName": [ "Az.StackHCIVM.internal\\Start-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Start-AzStackHCIVMVirtualMachine_Start" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -944,35 +721,35 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5b014e1c-0000-0100-0000-65dd863c0000\"" ], + "ETag": [ "\"6d00fc30-0000-0100-0000-65fd21130000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "2f279768-8c44-463d-a7fa-1d9d5ef214da" ], - "x-ms-correlation-request-id": [ "7df73347-5fbe-469e-9578-dbf02857b9a5" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065041Z:7df73347-5fbe-469e-9578-dbf02857b9a5" ], + "x-ms-request-id": [ "b33a64ab-a16a-4a9d-b6a5-9e2cc77fe434" ], + "x-ms-correlation-request-id": [ "3cd09eb0-0b96-45b8-92c1-52aa89f65e20" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061154Z:3cd09eb0-0b96-45b8-92c1-52aa89f65e20" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 2F82AF31127844579B9C14F453D94118 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:50:41Z" ], - "Date": [ "Tue, 27 Feb 2024 06:50:40 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C60E4B80885A4D3083EC457B100DF9C2 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:11:54Z" ], + "Date": [ "Fri, 22 Mar 2024 06:11:53 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "643" ], + "Content-Length": [ "642" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"9735d9ac-88be-4444-a39d-fc11a96013e4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:48:08.7865183Z\",\"endTime\":\"2024-02-27T06:50:36.6452672Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"2e1607e7-0884-44eb-9012-479e21febc17*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T06:10:22.6318716Z\",\"endTime\":\"2024-03-22T06:11:31.592199Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$DELETE+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview+1": { + "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$DELETE+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01+1": { "Request": { "Method": "DELETE", - "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "23" ], - "x-ms-client-request-id": [ "05cca899-ed3f-45fa-8333-174ced25b909" ], + "x-ms-unique-id": [ "18" ], + "x-ms-client-request-id": [ "729467e7-e575-41d8-8d8e-8556cfe8bf31" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Remove-AzStackHCIVMVirtualMachine_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -987,19 +764,19 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"81007621-0000-0100-0000-65dd86410000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134419537893\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=VElv7h4j7bv3oGOX1YKz4Bkl3pH1JQOqqOhVCd0E8cHfTiV9hjyCDou02fVRdhPRVrXj3Q2m-4VB_E_li18eMh2hzrkP_IMTsUv_OVNPAs47UsjT5m8ZGgQD9qSEtL_J6u6Pj4O_Pv-0hRXnEK6QSYT6V7vy0fnhQYdpdnGSdiNO9LKUX9y-4fHtGNI3lRJ7sQqs7rN-w3hK-b3iguIOizuUlAKzG7P2xWKHhoKaXVljURCR06vjuzT1r2nz6GFaQQJwhDyszg97V9kupltGC5VWyT69sHLyNZvQTlMA4ETP0bOfzRQLGDxTz7FOigsjwiMfPJs7XiL-tuS8fTQv1w\u0026h=lDfREPidAl855bwIUiaa9BdSjHGGLdJp6IkFtRUkl0c" ], + "ETag": [ "\"1f003582-0000-0100-0000-65fd212a0000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847149366243\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=aMoA5jn6bAICm_f3vupv_yUNIfjkhRMMJ9wQuKlBdJpRZQ3M2QKaqtRvBtyS1P-I0wJXIeWbrl5p3Pi8i58Kk3L8jbpzkuMsdm7QuaaKQWfNXDU1Ra1WS7jvQ82qbSnrOJ7CpCrdKE9DjPp2RQBWg9J-Xuq_wKhrN_ZiyFi6pzs80pCIzkOW_Bsgxj_s6Jo6uvBzr0RHDkizl8kq2lYDURgrJhMtUjkrHzNPoxYrF04aUYd1EN9p1dgnnxXZOO4kGVrRmGEaHRggSO7FeZ1xaN4qRVCk_OK-Yr4SO2b6PqyoQlhIdkwI53W0f5ZjxGpWlv4_ee11v9CyEf8coMGqIw\u0026h=ovpCOi2ZsubMfcOjNNbPy3gmWxgHGvYI49a-oH2urqk" ], "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], "x-ms-providerhub-traffic": [ "True" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134419381726\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=0bD9hSjrHvCUyF9RsYxQW-Hv-s1zXWIAToSqCDNs5sk3PIgNv6yZTQjNkmkHV8d9KCI2Drj46sG8q0vLEOEuYcFrn4bBTDvBwsIQt5fZ7XWgxHC7m8wQ8NLAhKKFXvxk68PoZtaEIJgs8QeLZZLBIBiAFbH30hK88XVHSY7dE4xhOXlmEkqGXb3GakeKIaB7ZEQ7deeRwG4TC1kg1PJTRGAxtkUBL1ISHFl9JNTGssZrHCXizgWD5j6N_kwsqAMv8UZPDTbP7DnmaHRwxUBzjSN7l6Led_g4ysTW2DmNZ_2MZ8TEkbcL6DOWGi-eOq96FZ8o2TlTAedym2KKP6Pgjw\u0026h=4MW37x9F5ucy7-fmuMgn9rHqRw0kfc7EC2C7HlEh3LU" ], - "x-ms-request-id": [ "32ae8066-22d2-45d1-b322-47f1a602ed22" ], - "x-ms-correlation-request-id": [ "78ea262d-331a-468d-b0fb-0ed2dceba6eb" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065041Z:78ea262d-331a-468d-b0fb-0ed2dceba6eb" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847149053740\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=3aFzIjQK9j5s40HizF6FpRJBG7omlbYOCIWp3VHTvn7QQ1SVI1C1OF_L5veQWbxnydEIRxJxN1iujK-TVpzu9yIyN09NYaFN0XvmKOB8AUVqJFMlv9zuy2SpKxAAlDnLR4ogKoXfhK8Sq1WZjpgMuwzwT1IRR8v1BtK-KZA8T8_2-z2GTuWJ-WcflYhTgXInJMagv07ePFa3dwWNzVys-kNCxqs3bAeaCYqGWV9_aWzQRu4w51_8bPTveloVSDfbejBJ2WYQea4c-VmoDkYaupQl2tSSmuJQ3uM1ergOqgK8NQEmBEhy70KbAjWEft_DHixtm0BHcab-4LbyOELw_Q\u0026h=VnqwSRpTP238Jq1zPMdKNTUD5M1RMaP_lu_KUAulyUw" ], + "x-ms-request-id": [ "fcb66984-5c89-4a03-86c0-5219a363efe4" ], + "x-ms-correlation-request-id": [ "8b878773-16de-44c5-aea8-9d6e7c6fdb76" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061154Z:8b878773-16de-44c5-aea8-9d6e7c6fdb76" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: A1777E281D2B4FF38B66CD911A57FA48 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:50:41Z" ], - "Date": [ "Tue, 27 Feb 2024 06:50:41 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C15A23F9EF1E4B87BD28A7AF343F7735 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:11:54Z" ], + "Date": [ "Fri, 22 Mar 2024 06:11:54 GMT" ] }, "ContentHeaders": { "Content-Length": [ "4" ], @@ -1010,16 +787,16 @@ "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134419381726\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=0bD9hSjrHvCUyF9RsYxQW-Hv-s1zXWIAToSqCDNs5sk3PIgNv6yZTQjNkmkHV8d9KCI2Drj46sG8q0vLEOEuYcFrn4bBTDvBwsIQt5fZ7XWgxHC7m8wQ8NLAhKKFXvxk68PoZtaEIJgs8QeLZZLBIBiAFbH30hK88XVHSY7dE4xhOXlmEkqGXb3GakeKIaB7ZEQ7deeRwG4TC1kg1PJTRGAxtkUBL1ISHFl9JNTGssZrHCXizgWD5j6N_kwsqAMv8UZPDTbP7DnmaHRwxUBzjSN7l6Led_g4ysTW2DmNZ_2MZ8TEkbcL6DOWGi-eOq96FZ8o2TlTAedym2KKP6Pgjw\u0026h=4MW37x9F5ucy7-fmuMgn9rHqRw0kfc7EC2C7HlEh3LU+2": { + "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847149053740\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=3aFzIjQK9j5s40HizF6FpRJBG7omlbYOCIWp3VHTvn7QQ1SVI1C1OF_L5veQWbxnydEIRxJxN1iujK-TVpzu9yIyN09NYaFN0XvmKOB8AUVqJFMlv9zuy2SpKxAAlDnLR4ogKoXfhK8Sq1WZjpgMuwzwT1IRR8v1BtK-KZA8T8_2-z2GTuWJ-WcflYhTgXInJMagv07ePFa3dwWNzVys-kNCxqs3bAeaCYqGWV9_aWzQRu4w51_8bPTveloVSDfbejBJ2WYQea4c-VmoDkYaupQl2tSSmuJQ3uM1ergOqgK8NQEmBEhy70KbAjWEft_DHixtm0BHcab-4LbyOELw_Q\u0026h=VnqwSRpTP238Jq1zPMdKNTUD5M1RMaP_lu_KUAulyUw+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134419381726\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=0bD9hSjrHvCUyF9RsYxQW-Hv-s1zXWIAToSqCDNs5sk3PIgNv6yZTQjNkmkHV8d9KCI2Drj46sG8q0vLEOEuYcFrn4bBTDvBwsIQt5fZ7XWgxHC7m8wQ8NLAhKKFXvxk68PoZtaEIJgs8QeLZZLBIBiAFbH30hK88XVHSY7dE4xhOXlmEkqGXb3GakeKIaB7ZEQ7deeRwG4TC1kg1PJTRGAxtkUBL1ISHFl9JNTGssZrHCXizgWD5j6N_kwsqAMv8UZPDTbP7DnmaHRwxUBzjSN7l6Led_g4ysTW2DmNZ_2MZ8TEkbcL6DOWGi-eOq96FZ8o2TlTAedym2KKP6Pgjw\u0026h=4MW37x9F5ucy7-fmuMgn9rHqRw0kfc7EC2C7HlEh3LU", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847149053740\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=3aFzIjQK9j5s40HizF6FpRJBG7omlbYOCIWp3VHTvn7QQ1SVI1C1OF_L5veQWbxnydEIRxJxN1iujK-TVpzu9yIyN09NYaFN0XvmKOB8AUVqJFMlv9zuy2SpKxAAlDnLR4ogKoXfhK8Sq1WZjpgMuwzwT1IRR8v1BtK-KZA8T8_2-z2GTuWJ-WcflYhTgXInJMagv07ePFa3dwWNzVys-kNCxqs3bAeaCYqGWV9_aWzQRu4w51_8bPTveloVSDfbejBJ2WYQea4c-VmoDkYaupQl2tSSmuJQ3uM1ergOqgK8NQEmBEhy70KbAjWEft_DHixtm0BHcab-4LbyOELw_Q\u0026h=VnqwSRpTP238Jq1zPMdKNTUD5M1RMaP_lu_KUAulyUw", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "24" ], - "x-ms-client-request-id": [ "05cca899-ed3f-45fa-8333-174ced25b909" ], + "x-ms-unique-id": [ "19" ], + "x-ms-client-request-id": [ "729467e7-e575-41d8-8d8e-8556cfe8bf31" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Remove-AzStackHCIVMVirtualMachine_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -1033,38 +810,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5b01d31c-0000-0100-0000-65dd86410000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134723277382\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Oc_go4qXJ3f_QWEwrUqzD6Xk5JIEKWHTBtJHG91WWep9KA17m6ASklnIzz7RsoVai0m9WPqwa7D7SqUWEBu5Kn68Dui49gx5c8wCoKlqtN3-MrvHG7nrpwkSBci9-LQDjmAT2la_QxoLa_Etl9n1Rc2vgsvS2YeqNWvzMy1AEf6QmX0tNOZ73-2Qu1x9r6EEbdiLuh9lywznCB2cB6d_-iuDoBEhKPyjsEZFQBwh4YLu0pgs53IfhxTOiUnZekDowke_GYNfmrEw4TrUj8Bo0_a5aYnqzMNNJJ0HquRygXvrJ5Vt_lPkoSRtyK7h3ioJOC5rshtpUm67Qpp-sbmN8w\u0026h=BBBGQ8sZdtzEY2f2OMjJAZjjU6g1IEw5-PmacrY6qiU" ], - "x-ms-ratelimit-remaining-tenant-reads": [ "11998" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134723277382\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Oc_go4qXJ3f_QWEwrUqzD6Xk5JIEKWHTBtJHG91WWep9KA17m6ASklnIzz7RsoVai0m9WPqwa7D7SqUWEBu5Kn68Dui49gx5c8wCoKlqtN3-MrvHG7nrpwkSBci9-LQDjmAT2la_QxoLa_Etl9n1Rc2vgsvS2YeqNWvzMy1AEf6QmX0tNOZ73-2Qu1x9r6EEbdiLuh9lywznCB2cB6d_-iuDoBEhKPyjsEZFQBwh4YLu0pgs53IfhxTOiUnZekDowke_GYNfmrEw4TrUj8Bo0_a5aYnqzMNNJJ0HquRygXvrJ5Vt_lPkoSRtyK7h3ioJOC5rshtpUm67Qpp-sbmN8w\u0026h=BBBGQ8sZdtzEY2f2OMjJAZjjU6g1IEw5-PmacrY6qiU" ], - "x-ms-request-id": [ "1f83c63e-015f-4740-83ad-9b5931d1ccbf" ], - "x-ms-correlation-request-id": [ "21676032-51e4-449b-b4d5-30fbb042275d" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065112Z:21676032-51e4-449b-b4d5-30fbb042275d" ], + "ETag": [ "\"6d00e438-0000-0100-0000-65fd212a0000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847454380476\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=4MCUxssItO-TfHNDuJzF5BDRdmoZxkjANkqUqryrDCr1Lyv9lzo7RNE9zUEgnfgsrxNgIcSDz5jmcGgAMZVIXvyiii0wy1yIku1K9dKCMXFYobfm9S6jJd_hXXyDF5RKeetEq4AZQ-YJwqoTNVxfT7UGtlSC9CFMZvBDX23ceh3NacgKHC4VSGTd5r7Itm-Y3bgoTWb5PyKYRA4imx8oNatBi7xLt8STcip_XTBoGjgxvFXEql42ZWI_yhi2AYlEh_FBkyTUR_ZA04QZxL06kts3pFJ0PSeBkCu0Pt9lkaNSlquWhZZn2QZ-cvcR9KL-aldiwsgLlP3CqSvumfaFFQ\u0026h=FrY8FnGiECY7ZSMlrHkqD9Le-oc2QK2GwEvF1toRCWo" ], + "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847454224194\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=H8ENzaPwcuQ9qC1IeiRn9eAqUe5LPUCJYhMASdbkpnNZ6CmCJ-iEBTJFCpeBZCz2hsEzw1ath16xl9EsWpB9S1A2QmzhMxp6rd6z-pa5CnqYQEXMq41eDicqNk1CtT_I5c_9x4AE4jN3giTitO-yYe4gq4NIFbAXeByxbhbxCa_IeXgTgkjue-3I3t4zf52_Hu4vB8Wm_c4kraNHtOTLML6akR8ltj5VmQkkN7UUkBNg6q2kkk-KgWgZO9CJMkHs7ZPZNX70ivBMHgX5VGYvaLChcfdHtUpfpjMHhrh7j57dFK7HbrbCNcE7jmpI3XMjBaswzk36cB__tQkRQaKNJA\u0026h=9IAHouxWnPvNHJ_CKKYYJ-KiAHLHolnR8nI8hoJu2Uc" ], + "x-ms-request-id": [ "4ff92bac-de76-4a11-80d2-1deadebb8f55" ], + "x-ms-correlation-request-id": [ "09d41779-2c60-4c1e-8e90-fae28ce130fc" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061225Z:09d41779-2c60-4c1e-8e90-fae28ce130fc" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 6A04F9AB31D34855839BA1E0BED35B15 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:51:12Z" ], - "Date": [ "Tue, 27 Feb 2024 06:51:11 GMT" ] + "X-MSEdge-Ref": [ "Ref A: FA9C8DDEE0544309A5FA00EDB33EE329 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:12:25Z" ], + "Date": [ "Fri, 22 Mar 2024 06:12:25 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "571" ], + "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Deleting\",\"startTime\":\"2024-02-27T06:50:41.624813Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Deleting\",\"startTime\":\"2024-03-22T06:11:54.6546146Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134723277382\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Oc_go4qXJ3f_QWEwrUqzD6Xk5JIEKWHTBtJHG91WWep9KA17m6ASklnIzz7RsoVai0m9WPqwa7D7SqUWEBu5Kn68Dui49gx5c8wCoKlqtN3-MrvHG7nrpwkSBci9-LQDjmAT2la_QxoLa_Etl9n1Rc2vgsvS2YeqNWvzMy1AEf6QmX0tNOZ73-2Qu1x9r6EEbdiLuh9lywznCB2cB6d_-iuDoBEhKPyjsEZFQBwh4YLu0pgs53IfhxTOiUnZekDowke_GYNfmrEw4TrUj8Bo0_a5aYnqzMNNJJ0HquRygXvrJ5Vt_lPkoSRtyK7h3ioJOC5rshtpUm67Qpp-sbmN8w\u0026h=BBBGQ8sZdtzEY2f2OMjJAZjjU6g1IEw5-PmacrY6qiU+3": { + "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847454224194\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=H8ENzaPwcuQ9qC1IeiRn9eAqUe5LPUCJYhMASdbkpnNZ6CmCJ-iEBTJFCpeBZCz2hsEzw1ath16xl9EsWpB9S1A2QmzhMxp6rd6z-pa5CnqYQEXMq41eDicqNk1CtT_I5c_9x4AE4jN3giTitO-yYe4gq4NIFbAXeByxbhbxCa_IeXgTgkjue-3I3t4zf52_Hu4vB8Wm_c4kraNHtOTLML6akR8ltj5VmQkkN7UUkBNg6q2kkk-KgWgZO9CJMkHs7ZPZNX70ivBMHgX5VGYvaLChcfdHtUpfpjMHhrh7j57dFK7HbrbCNcE7jmpI3XMjBaswzk36cB__tQkRQaKNJA\u0026h=9IAHouxWnPvNHJ_CKKYYJ-KiAHLHolnR8nI8hoJu2Uc+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134723277382\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Oc_go4qXJ3f_QWEwrUqzD6Xk5JIEKWHTBtJHG91WWep9KA17m6ASklnIzz7RsoVai0m9WPqwa7D7SqUWEBu5Kn68Dui49gx5c8wCoKlqtN3-MrvHG7nrpwkSBci9-LQDjmAT2la_QxoLa_Etl9n1Rc2vgsvS2YeqNWvzMy1AEf6QmX0tNOZ73-2Qu1x9r6EEbdiLuh9lywznCB2cB6d_-iuDoBEhKPyjsEZFQBwh4YLu0pgs53IfhxTOiUnZekDowke_GYNfmrEw4TrUj8Bo0_a5aYnqzMNNJJ0HquRygXvrJ5Vt_lPkoSRtyK7h3ioJOC5rshtpUm67Qpp-sbmN8w\u0026h=BBBGQ8sZdtzEY2f2OMjJAZjjU6g1IEw5-PmacrY6qiU", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847454224194\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=H8ENzaPwcuQ9qC1IeiRn9eAqUe5LPUCJYhMASdbkpnNZ6CmCJ-iEBTJFCpeBZCz2hsEzw1ath16xl9EsWpB9S1A2QmzhMxp6rd6z-pa5CnqYQEXMq41eDicqNk1CtT_I5c_9x4AE4jN3giTitO-yYe4gq4NIFbAXeByxbhbxCa_IeXgTgkjue-3I3t4zf52_Hu4vB8Wm_c4kraNHtOTLML6akR8ltj5VmQkkN7UUkBNg6q2kkk-KgWgZO9CJMkHs7ZPZNX70ivBMHgX5VGYvaLChcfdHtUpfpjMHhrh7j57dFK7HbrbCNcE7jmpI3XMjBaswzk36cB__tQkRQaKNJA\u0026h=9IAHouxWnPvNHJ_CKKYYJ-KiAHLHolnR8nI8hoJu2Uc", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "25" ], - "x-ms-client-request-id": [ "05cca899-ed3f-45fa-8333-174ced25b909" ], + "x-ms-unique-id": [ "20" ], + "x-ms-client-request-id": [ "729467e7-e575-41d8-8d8e-8556cfe8bf31" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Remove-AzStackHCIVMVirtualMachine_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -1078,38 +855,38 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"5b01d31c-0000-0100-0000-65dd86410000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446135026968383\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=qUo8DeBd6QFFI0y9-2mJUAMdm8W7zcVImt3o2gLYc7LSMNwuWWO54tiADUXV05-Nm7OGtJR4o3DrDcYs5KGaY8eh3BttTTJMtZedGa7Gqllfq52rpoX85KUxSmZnZoWGRO_Ns0r8vuIjcB8gbzHnR9vQzdDOW_GdbpBnOXv8uP2pc-jL1RV3yi2nOzyuYaFlGlHUzoJemrtJHDHRWN5sY7Ww06fS2CIRpQYsNBZ9GJMnnNv8rKvN6wabz7yb--8fuNvhmwDF58Q7HWXh_B0YzSz-WXjoQXgL5UNTQLexwjAHbXujAw7WzaRvXvsL_B36hHTJ-47yGQ1kepn19J5FAA\u0026h=cta5eztDYZnzYbA4Vhk9FcSvy2WIwHzn_LDADxdLARk" ], + "ETag": [ "\"6d00e438-0000-0100-0000-65fd212a0000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847758014509\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Q1TEBvf73mxotczYEp30DyBszkOA4H7O9mL42MlzUoItB1XDcPViPo6ytASmqwjX-iy7NKPCeVnuPNo4xvhqVUE0kHItEibm0gJH0oohKzMkdcSGBdDdTl5poPvEvWI-bxEehDkXjmfDDwgp0rAWJThtoQkBeRQ4h_8vPdBaLEnVuZJxVFNNEyYf6IIb_p0dALty46DJE9TddFXFUPgSZcsICgmsQnYfSFNUoyZavAf4iD74lrlzgyWmKn77PdKfelqFOInxjL2JxA3OrBnrXeNDJRvl7uJ3EpIX6wuFjmyCExWeEnfEs8vpv5FOGinTxrAftEsQZM94f1QCuK6Xpg\u0026h=DEdLDbpXmImo3yBmXWI4Mq_CwBmKcGtlp6c6c8ykluI" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446135026812130\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=aM1Y3mopEiNq_OxyK__7BpvybJOJL7pKWgYsK0rwKOSfMIEra2DrwxgMcUSJDDkZtd58UivF5PtuVZMnmPoAgn0M6QGxMPtPDmEnhgEcXgBpNAgmOlpJ0h6XMORoe-CvTi-tKrmUN3kJkDOt0obBOp8Fz7LxFwXO22RnA8ZOqV6aGs25UTTByK_qvTEl9vfCg-9mPmzz3_Eeu8qu5a5DFatHwTBDbTPvLfJ70dJHq2b11oaJnEmcpn71D6pQIPbpzyueFqzlxJBlPKrTwkGMQMJSm8xJIKx8ok_Z1tfknlR584w7eZquqORTLhLJx4qR3jNuiA1odOBM98z_k1shsA\u0026h=Fb8IJAuYIHxbmsqtDrK5zZqbzzOoKRG45hksXqdLOyw" ], - "x-ms-request-id": [ "355adb4e-293b-485d-9d95-eb33d62cb807" ], - "x-ms-correlation-request-id": [ "e29dee47-3d37-4523-bca4-99b991774b0a" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065142Z:e29dee47-3d37-4523-bca4-99b991774b0a" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847757858248\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=G7Ux-DvmbRL9Z_3Q_Y416TZcyW6OIzBwknaQ9egKb5FJcVVyjoXMc4m2HPM9DEUDSkQ4_PwH0bIZdA8G4KX4JUsDut8odjHRoEtd-pMIdSJ77R6Zb9sMhRTchdz1nr5AtR8zbIxFZr2xYMlko6VL6Yspv6_mdX-dclH5DdJJzSETGVzxFnTMiKSnOgvbAxwb0vetZADK4shiMzsAGWC5V8XNPooOJ1G582KcGBMUFft-xR-zewj-gYoZR14RQ9uVjw95TTunmtsfe7SAqDSYhYBqAPL-vtAJIIM3p1_iHH-3k9oDmO8ks-b9jm3MWfiE1AUiUu9PyFOD-Xf56HYrjA\u0026h=BpEJ2ROe8twkrjC7dgqpOqROAybwc3io7TDfvZv0-Wc" ], + "x-ms-request-id": [ "ed9351a3-5744-411e-aa6d-ca1a6a17b871" ], + "x-ms-correlation-request-id": [ "a7c40caf-cecb-4472-9758-59ca312bf3da" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061255Z:a7c40caf-cecb-4472-9758-59ca312bf3da" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 248E9D40322C4763A92A55887B399707 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:51:42Z" ], - "Date": [ "Tue, 27 Feb 2024 06:51:42 GMT" ] + "X-MSEdge-Ref": [ "Ref A: AF1CEF52E31D45DD9DE5356114DB5346 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:12:55Z" ], + "Date": [ "Fri, 22 Mar 2024 06:12:55 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "571" ], + "Content-Length": [ "572" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Deleting\",\"startTime\":\"2024-02-27T06:50:41.624813Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Deleting\",\"startTime\":\"2024-03-22T06:11:54.6546146Z\"}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446135026812130\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=aM1Y3mopEiNq_OxyK__7BpvybJOJL7pKWgYsK0rwKOSfMIEra2DrwxgMcUSJDDkZtd58UivF5PtuVZMnmPoAgn0M6QGxMPtPDmEnhgEcXgBpNAgmOlpJ0h6XMORoe-CvTi-tKrmUN3kJkDOt0obBOp8Fz7LxFwXO22RnA8ZOqV6aGs25UTTByK_qvTEl9vfCg-9mPmzz3_Eeu8qu5a5DFatHwTBDbTPvLfJ70dJHq2b11oaJnEmcpn71D6pQIPbpzyueFqzlxJBlPKrTwkGMQMJSm8xJIKx8ok_Z1tfknlR584w7eZquqORTLhLJx4qR3jNuiA1odOBM98z_k1shsA\u0026h=Fb8IJAuYIHxbmsqtDrK5zZqbzzOoKRG45hksXqdLOyw+4": { + "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847757858248\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=G7Ux-DvmbRL9Z_3Q_Y416TZcyW6OIzBwknaQ9egKb5FJcVVyjoXMc4m2HPM9DEUDSkQ4_PwH0bIZdA8G4KX4JUsDut8odjHRoEtd-pMIdSJ77R6Zb9sMhRTchdz1nr5AtR8zbIxFZr2xYMlko6VL6Yspv6_mdX-dclH5DdJJzSETGVzxFnTMiKSnOgvbAxwb0vetZADK4shiMzsAGWC5V8XNPooOJ1G582KcGBMUFft-xR-zewj-gYoZR14RQ9uVjw95TTunmtsfe7SAqDSYhYBqAPL-vtAJIIM3p1_iHH-3k9oDmO8ks-b9jm3MWfiE1AUiUu9PyFOD-Xf56HYrjA\u0026h=BpEJ2ROe8twkrjC7dgqpOqROAybwc3io7TDfvZv0-Wc+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446135026812130\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=aM1Y3mopEiNq_OxyK__7BpvybJOJL7pKWgYsK0rwKOSfMIEra2DrwxgMcUSJDDkZtd58UivF5PtuVZMnmPoAgn0M6QGxMPtPDmEnhgEcXgBpNAgmOlpJ0h6XMORoe-CvTi-tKrmUN3kJkDOt0obBOp8Fz7LxFwXO22RnA8ZOqV6aGs25UTTByK_qvTEl9vfCg-9mPmzz3_Eeu8qu5a5DFatHwTBDbTPvLfJ70dJHq2b11oaJnEmcpn71D6pQIPbpzyueFqzlxJBlPKrTwkGMQMJSm8xJIKx8ok_Z1tfknlR584w7eZquqORTLhLJx4qR3jNuiA1odOBM98z_k1shsA\u0026h=Fb8IJAuYIHxbmsqtDrK5zZqbzzOoKRG45hksXqdLOyw", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847757858248\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=G7Ux-DvmbRL9Z_3Q_Y416TZcyW6OIzBwknaQ9egKb5FJcVVyjoXMc4m2HPM9DEUDSkQ4_PwH0bIZdA8G4KX4JUsDut8odjHRoEtd-pMIdSJ77R6Zb9sMhRTchdz1nr5AtR8zbIxFZr2xYMlko6VL6Yspv6_mdX-dclH5DdJJzSETGVzxFnTMiKSnOgvbAxwb0vetZADK4shiMzsAGWC5V8XNPooOJ1G582KcGBMUFft-xR-zewj-gYoZR14RQ9uVjw95TTunmtsfe7SAqDSYhYBqAPL-vtAJIIM3p1_iHH-3k9oDmO8ks-b9jm3MWfiE1AUiUu9PyFOD-Xf56HYrjA\u0026h=BpEJ2ROe8twkrjC7dgqpOqROAybwc3io7TDfvZv0-Wc", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "26" ], - "x-ms-client-request-id": [ "05cca899-ed3f-45fa-8333-174ced25b909" ], + "x-ms-unique-id": [ "21" ], + "x-ms-client-request-id": [ "729467e7-e575-41d8-8d8e-8556cfe8bf31" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Remove-AzStackHCIVMVirtualMachine_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -1123,36 +900,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"73033a43-0000-0800-0000-65dd869b0000\"" ], + "ETag": [ "\"ff017e5a-0000-0800-0000-65fd21840000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "f2e23c70-dc91-43e5-910a-2f12aaa23fa1" ], - "x-ms-correlation-request-id": [ "53c5e03b-bf19-47db-a6ca-e7bbc1ca3cf2" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065213Z:53c5e03b-bf19-47db-a6ca-e7bbc1ca3cf2" ], + "x-ms-request-id": [ "708ad654-d706-4a8a-9de4-cb06856e2acb" ], + "x-ms-correlation-request-id": [ "783b4d29-5fba-4011-99c5-174af5b7c3d4" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061326Z:783b4d29-5fba-4011-99c5-174af5b7c3d4" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: D8A74BA7DF254346998FDF58D83E7998 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:52:13Z" ], - "Date": [ "Tue, 27 Feb 2024 06:52:12 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 339D7C5EB4A344178B18E28EAA8BE886 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:13:26Z" ], + "Date": [ "Fri, 22 Mar 2024 06:13:25 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "590" ], + "Content-Length": [ "591" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:50:41.624813Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/eastus/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T06:11:54.6546146Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134419381726\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=0bD9hSjrHvCUyF9RsYxQW-Hv-s1zXWIAToSqCDNs5sk3PIgNv6yZTQjNkmkHV8d9KCI2Drj46sG8q0vLEOEuYcFrn4bBTDvBwsIQt5fZ7XWgxHC7m8wQ8NLAhKKFXvxk68PoZtaEIJgs8QeLZZLBIBiAFbH30hK88XVHSY7dE4xhOXlmEkqGXb3GakeKIaB7ZEQ7deeRwG4TC1kg1PJTRGAxtkUBL1ISHFl9JNTGssZrHCXizgWD5j6N_kwsqAMv8UZPDTbP7DnmaHRwxUBzjSN7l6Led_g4ysTW2DmNZ_2MZ8TEkbcL6DOWGi-eOq96FZ8o2TlTAedym2KKP6Pgjw\u0026h=4MW37x9F5ucy7-fmuMgn9rHqRw0kfc7EC2C7HlEh3LU+5": { + "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847149053740\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=3aFzIjQK9j5s40HizF6FpRJBG7omlbYOCIWp3VHTvn7QQ1SVI1C1OF_L5veQWbxnydEIRxJxN1iujK-TVpzu9yIyN09NYaFN0XvmKOB8AUVqJFMlv9zuy2SpKxAAlDnLR4ogKoXfhK8Sq1WZjpgMuwzwT1IRR8v1BtK-KZA8T8_2-z2GTuWJ-WcflYhTgXInJMagv07ePFa3dwWNzVys-kNCxqs3bAeaCYqGWV9_aWzQRu4w51_8bPTveloVSDfbejBJ2WYQea4c-VmoDkYaupQl2tSSmuJQ3uM1ergOqgK8NQEmBEhy70KbAjWEft_DHixtm0BHcab-4LbyOELw_Q\u0026h=VnqwSRpTP238Jq1zPMdKNTUD5M1RMaP_lu_KUAulyUw+5": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2023-09-01-preview\u0026t=638446134419381726\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=0bD9hSjrHvCUyF9RsYxQW-Hv-s1zXWIAToSqCDNs5sk3PIgNv6yZTQjNkmkHV8d9KCI2Drj46sG8q0vLEOEuYcFrn4bBTDvBwsIQt5fZ7XWgxHC7m8wQ8NLAhKKFXvxk68PoZtaEIJgs8QeLZZLBIBiAFbH30hK88XVHSY7dE4xhOXlmEkqGXb3GakeKIaB7ZEQ7deeRwG4TC1kg1PJTRGAxtkUBL1ISHFl9JNTGssZrHCXizgWD5j6N_kwsqAMv8UZPDTbP7DnmaHRwxUBzjSN7l6Led_g4ysTW2DmNZ_2MZ8TEkbcL6DOWGi-eOq96FZ8o2TlTAedym2KKP6Pgjw\u0026h=4MW37x9F5ucy7-fmuMgn9rHqRw0kfc7EC2C7HlEh3LU", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C?api-version=2024-01-01\u0026t=638466847149053740\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=3aFzIjQK9j5s40HizF6FpRJBG7omlbYOCIWp3VHTvn7QQ1SVI1C1OF_L5veQWbxnydEIRxJxN1iujK-TVpzu9yIyN09NYaFN0XvmKOB8AUVqJFMlv9zuy2SpKxAAlDnLR4ogKoXfhK8Sq1WZjpgMuwzwT1IRR8v1BtK-KZA8T8_2-z2GTuWJ-WcflYhTgXInJMagv07ePFa3dwWNzVys-kNCxqs3bAeaCYqGWV9_aWzQRu4w51_8bPTveloVSDfbejBJ2WYQea4c-VmoDkYaupQl2tSSmuJQ3uM1ergOqgK8NQEmBEhy70KbAjWEft_DHixtm0BHcab-4LbyOELw_Q\u0026h=VnqwSRpTP238Jq1zPMdKNTUD5M1RMaP_lu_KUAulyUw", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "27" ], - "x-ms-client-request-id": [ "05cca899-ed3f-45fa-8333-174ced25b909" ], + "x-ms-unique-id": [ "22" ], + "x-ms-client-request-id": [ "729467e7-e575-41d8-8d8e-8556cfe8bf31" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Remove-AzStackHCIVMVirtualMachine_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -1166,23 +943,23 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"73033a43-0000-0800-0000-65dd869b0000\"" ], + "ETag": [ "\"ff017e5a-0000-0800-0000-65fd21840000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "ffade2f3-e062-414e-948b-bac34f273c12" ], - "x-ms-correlation-request-id": [ "f7038620-bda9-4a09-a592-7f76fa54ded1" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065213Z:f7038620-bda9-4a09-a592-7f76fa54ded1" ], + "x-ms-request-id": [ "6da44604-b05a-441a-aff3-938661cb8a26" ], + "x-ms-correlation-request-id": [ "0249f41b-6662-4a7a-a9bc-da22a11cec8c" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061326Z:0249f41b-6662-4a7a-a9bc-da22a11cec8c" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 23487FCDFA7D4645945107A0E12ED396 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:52:13Z" ], - "Date": [ "Tue, 27 Feb 2024 06:52:12 GMT" ] + "X-MSEdge-Ref": [ "Ref A: FC9314A6FCA847FBAD4B371FAC7B94A0 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:13:26Z" ], + "Date": [ "Fri, 22 Mar 2024 06:13:26 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "590" ], + "Content-Length": [ "591" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"32ae8066-22d2-45d1-b322-47f1a602ed22*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-02-27T06:50:41.624813Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"name\":\"fcb66984-5c89-4a03-86c0-5219a363efe4*42FC8FC89921AB91077BD72FF3846BDE5BE10A8D3E99A6E9786DB0E6D53DA03C\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T06:11:54.6546146Z\",\"properties\":null}", "isContentBase64": false } }, @@ -1193,8 +970,8 @@ "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "28" ], - "x-ms-client-request-id": [ "075171d3-8811-4405-bd42-504d38dd749d" ], + "x-ms-unique-id": [ "23" ], + "x-ms-client-request-id": [ "5fdf7cf4-0c0f-4a30-81d8-d7e48bb21e5d" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMMachine" ], "FullCommandName": [ "Remove-AzStackHCIVMMachine_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -1210,14 +987,14 @@ "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "x-ms-request-id": [ "55d35d14-39dc-48bf-8831-1eacd6ca4149" ], + "x-ms-request-id": [ "b74ae66a-8af7-4ad4-b492-6282e671d9ab" ], "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], - "x-ms-correlation-request-id": [ "417fc20c-3d04-4c5b-8190-dfbff0536770" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065218Z:417fc20c-3d04-4c5b-8190-dfbff0536770" ], + "x-ms-correlation-request-id": [ "01cd0c14-a09d-4b5d-96e1-7492801691f3" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061331Z:01cd0c14-a09d-4b5d-96e1-7492801691f3" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3E4095CBAC1B47E1BB4B9B673A877575 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:52:13Z" ], - "Date": [ "Tue, 27 Feb 2024 06:52:17 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 4B81F689CC004A31BFABF5FD51A6EE96 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:13:26Z" ], + "Date": [ "Fri, 22 Mar 2024 06:13:31 GMT" ] }, "ContentHeaders": { "Content-Type": [ "application/json" ], @@ -1228,15 +1005,15 @@ "isContentBase64": false } }, - "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview+7": { + "AzStackHCIVMVirtualMachine+[NoContext]+Delete+$GET+https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01+7": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2023-09-01-preview", + "RequestUri": "https://management.azure.com//subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.HybridCompute/machines/manualvmtest2/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default?api-version=2024-01-01", "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "29" ], - "x-ms-client-request-id": [ "16a01d91-547b-4471-8e7e-d9041b89a180" ], + "x-ms-unique-id": [ "24" ], + "x-ms-client-request-id": [ "03111b19-8fe0-4fe1-a593-6190406843b6" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMVirtualMachine" ], "FullCommandName": [ "Get-AzStackHCIVMVirtualMachine_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -1252,14 +1029,14 @@ "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "f9a66ba5-6e3f-44f1-8175-7c8be0247387" ], - "x-ms-correlation-request-id": [ "f9a66ba5-6e3f-44f1-8175-7c8be0247387" ], - "x-ms-routing-request-id": [ "WESTUS2:20240227T065218Z:f9a66ba5-6e3f-44f1-8175-7c8be0247387" ], + "x-ms-request-id": [ "7897dd53-5cc9-4b6f-a574-0f527334d944" ], + "x-ms-correlation-request-id": [ "7897dd53-5cc9-4b6f-a574-0f527334d944" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T061332Z:7897dd53-5cc9-4b6f-a574-0f527334d944" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 00C30E52894749B685891E8923536309 Ref B: CO6AA3150220009 Ref C: 2024-02-27T06:52:18Z" ], - "Date": [ "Tue, 27 Feb 2024 06:52:18 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 188094D1986241B799BFD03AA0D29858 Ref B: CO6AA3150219023 Ref C: 2024-03-22T06:13:32Z" ], + "Date": [ "Fri, 22 Mar 2024 06:13:31 GMT" ] }, "ContentHeaders": { "Content-Length": [ "230" ], From 9516d3811e2b2db8de36242c4890eb151c7c6942 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Fri, 22 Mar 2024 14:39:48 -0700 Subject: [PATCH 19/21] image recording --- .../test/AzStackHCIVMImageNew.Recording.json | 3210 ++++++++++++++++- 1 file changed, 3057 insertions(+), 153 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMImageNew.Recording.json b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMImageNew.Recording.json index a01df85e7acc..6e2bdea067de 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMImageNew.Recording.json +++ b/src/StackHCIVM/StackHCIVM.Autorest/test/AzStackHCIVMImageNew.Recording.json @@ -17,40 +17,40 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"d600737b-0000-0100-0000-65fd0f250000\"" ], + "ETag": [ "\"0f0177fc-0000-0100-0000-65fdf6f30000\"" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "82680194-7540-4e14-8d80-1a621f1ee68a" ], - "x-ms-request-id": [ "fc2aba6e-1849-42ad-aa84-28d06aff61c3" ], - "x-ms-correlation-request-id": [ "9ea6e76e-c7bd-4334-a0c1-bc9ea239164a" ], - "x-azure-ref": [ "20240322T045500Z-8zc7afmfbh4nm4ym2nu0f91gkg00000002ng000000006hph" ], + "mise-correlation-id": [ "cbc683fb-698d-4399-84fa-c6b79d44b46b" ], + "x-ms-request-id": [ "4accdde9-7a3c-489e-9764-ab500a6c13b6" ], + "x-ms-correlation-request-id": [ "626adb6b-8467-49ee-a7bd-f35b13559fce" ], + "x-azure-ref": [ "20240322T212402Z-kvch3udmc52fvdmxe17mv1bv9000000003h000000000km57" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045502Z:9ea6e76e-c7bd-4334-a0c1-bc9ea239164a" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467394439299714\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZKaxDf3CmI4l7DvUCf7ulu738lgr2id6Du5zqRQmlKs_RqzRW5Qdani9Snszw4hyK2LQDE_aevimhvbD2ds7fyNSYNyg36sAvfctIWeFdWLpj0X-ZI6SeVYjLYZsvLsT634eszb6hQo1Ni3CLO6nSi0muCRWNMNQBItZLYlTWNEo6NeYki3oYvJta0vobO4A4u9-XkuNAw2pb-KhjcM1jXsLOH1BHmYdIb2GE3nCk1rZH5PgBYLGlyycHPBVy5TGNche8vFbRxpLqx_l-qu_Visx_Hi2KDgS4dIKGmHPurygFVuBfWqrC_vTh4WmqQft04Y5CQF3863H6Op9Pl143w\u0026h=NI21NVL1w4T0s1GZveIpCzz7TtlxVsW0lP2v0WE0cB8" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212403Z:626adb6b-8467-49ee-a7bd-f35b13559fce" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 13C5F36175744B43AC6C155534D77926 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:54:59Z" ], - "Date": [ "Fri, 22 Mar 2024 04:55:01 GMT" ] + "X-MSEdge-Ref": [ "Ref A: A7024875A2624B0EBAB477B90F321B2C Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:24:01Z" ], + "Date": [ "Fri, 22 Mar 2024 21:24:03 GMT" ] }, "ContentHeaders": { "Content-Length": [ "781" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:55:00.6523822Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:55:00.6523822Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"osType\":\"Linux\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:24:02.5705854Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:24:02.5705854Z\"},\"properties\":{\"provisioningState\":\"Accepted\",\"osType\":\"Linux\"}}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E+2": { + "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467394439299714\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZKaxDf3CmI4l7DvUCf7ulu738lgr2id6Du5zqRQmlKs_RqzRW5Qdani9Snszw4hyK2LQDE_aevimhvbD2ds7fyNSYNyg36sAvfctIWeFdWLpj0X-ZI6SeVYjLYZsvLsT634eszb6hQo1Ni3CLO6nSi0muCRWNMNQBItZLYlTWNEo6NeYki3oYvJta0vobO4A4u9-XkuNAw2pb-KhjcM1jXsLOH1BHmYdIb2GE3nCk1rZH5PgBYLGlyycHPBVy5TGNche8vFbRxpLqx_l-qu_Visx_Hi2KDgS4dIKGmHPurygFVuBfWqrC_vTh4WmqQft04Y5CQF3863H6Op9Pl143w\u0026h=NI21NVL1w4T0s1GZveIpCzz7TtlxVsW0lP2v0WE0cB8+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467394439299714\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZKaxDf3CmI4l7DvUCf7ulu738lgr2id6Du5zqRQmlKs_RqzRW5Qdani9Snszw4hyK2LQDE_aevimhvbD2ds7fyNSYNyg36sAvfctIWeFdWLpj0X-ZI6SeVYjLYZsvLsT634eszb6hQo1Ni3CLO6nSi0muCRWNMNQBItZLYlTWNEo6NeYki3oYvJta0vobO4A4u9-XkuNAw2pb-KhjcM1jXsLOH1BHmYdIb2GE3nCk1rZH5PgBYLGlyycHPBVy5TGNche8vFbRxpLqx_l-qu_Visx_Hi2KDgS4dIKGmHPurygFVuBfWqrC_vTh4WmqQft04Y5CQF3863H6Op9Pl143w\u0026h=NI21NVL1w4T0s1GZveIpCzz7TtlxVsW0lP2v0WE0cB8", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "2" ], - "x-ms-client-request-id": [ "10e4fa3f-b699-4be5-92bf-d06967fe474f" ], + "x-ms-client-request-id": [ "d0f6ee25-ed0d-4225-b911-7dd6384ef2b8" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -64,36 +64,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"6500104c-0000-0100-0000-65fd0f2e0000\"" ], + "ETag": [ "\"9c001fdf-0000-0100-0000-65fdf6fc0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "612754c3-3fde-4002-8935-139dfba3f169" ], - "x-ms-correlation-request-id": [ "d87a7329-fa2a-47e4-a787-58a5673a5d72" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045532Z:d87a7329-fa2a-47e4-a787-58a5673a5d72" ], + "x-ms-request-id": [ "c1bf6902-5c92-4484-bd57-5c6b14a084a5" ], + "x-ms-correlation-request-id": [ "b8f7f910-bf0c-4cbb-8815-9f2b5cc6cc53" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212434Z:b8f7f910-bf0c-4cbb-8815-9f2b5cc6cc53" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 379CD443A2534A9BBA4C6C23B3B67F87 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:55:32Z" ], - "Date": [ "Fri, 22 Mar 2024 04:55:32 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 8D8EEBF1BED24C55B993E85994230E11 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:24:34Z" ], + "Date": [ "Fri, 22 Mar 2024 21:24:33 GMT" ] }, "ContentHeaders": { "Content-Length": [ "513" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T04:55:00.7305217Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T21:24:02.6463681Z\"}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E+3": { + "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467394439299714\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZKaxDf3CmI4l7DvUCf7ulu738lgr2id6Du5zqRQmlKs_RqzRW5Qdani9Snszw4hyK2LQDE_aevimhvbD2ds7fyNSYNyg36sAvfctIWeFdWLpj0X-ZI6SeVYjLYZsvLsT634eszb6hQo1Ni3CLO6nSi0muCRWNMNQBItZLYlTWNEo6NeYki3oYvJta0vobO4A4u9-XkuNAw2pb-KhjcM1jXsLOH1BHmYdIb2GE3nCk1rZH5PgBYLGlyycHPBVy5TGNche8vFbRxpLqx_l-qu_Visx_Hi2KDgS4dIKGmHPurygFVuBfWqrC_vTh4WmqQft04Y5CQF3863H6Op9Pl143w\u0026h=NI21NVL1w4T0s1GZveIpCzz7TtlxVsW0lP2v0WE0cB8+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467394439299714\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZKaxDf3CmI4l7DvUCf7ulu738lgr2id6Du5zqRQmlKs_RqzRW5Qdani9Snszw4hyK2LQDE_aevimhvbD2ds7fyNSYNyg36sAvfctIWeFdWLpj0X-ZI6SeVYjLYZsvLsT634eszb6hQo1Ni3CLO6nSi0muCRWNMNQBItZLYlTWNEo6NeYki3oYvJta0vobO4A4u9-XkuNAw2pb-KhjcM1jXsLOH1BHmYdIb2GE3nCk1rZH5PgBYLGlyycHPBVy5TGNche8vFbRxpLqx_l-qu_Visx_Hi2KDgS4dIKGmHPurygFVuBfWqrC_vTh4WmqQft04Y5CQF3863H6Op9Pl143w\u0026h=NI21NVL1w4T0s1GZveIpCzz7TtlxVsW0lP2v0WE0cB8", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "3" ], - "x-ms-client-request-id": [ "10e4fa3f-b699-4be5-92bf-d06967fe474f" ], + "x-ms-client-request-id": [ "d0f6ee25-ed0d-4225-b911-7dd6384ef2b8" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -107,36 +107,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"6500104c-0000-0100-0000-65fd0f2e0000\"" ], + "ETag": [ "\"9c001fdf-0000-0100-0000-65fdf6fc0000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "732cb383-697c-4f00-a6bd-a1e96e88d2e1" ], - "x-ms-correlation-request-id": [ "2033003e-7528-48dc-a3e5-c76a9d52c0e7" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045602Z:2033003e-7528-48dc-a3e5-c76a9d52c0e7" ], + "x-ms-request-id": [ "283e2077-ffa0-400d-bed9-0d688f69f4e0" ], + "x-ms-correlation-request-id": [ "eda12bb6-4f56-4760-a9ef-18fd7529c91d" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212504Z:eda12bb6-4f56-4760-a9ef-18fd7529c91d" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 502F9A0F2A1A4C5A9C6023AD42A2F0FF Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:56:02Z" ], - "Date": [ "Fri, 22 Mar 2024 04:56:02 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 56EBA5FC1F094034B1BE6498F86484C7 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:25:04Z" ], + "Date": [ "Fri, 22 Mar 2024 21:25:03 GMT" ] }, "ContentHeaders": { "Content-Length": [ "513" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T04:55:00.7305217Z\"}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Accepted\",\"startTime\":\"2024-03-22T21:24:02.6463681Z\"}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E+4": { + "AzStackHCIVMImageNew+[NoContext]+Create Image +$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467394439299714\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZKaxDf3CmI4l7DvUCf7ulu738lgr2id6Du5zqRQmlKs_RqzRW5Qdani9Snszw4hyK2LQDE_aevimhvbD2ds7fyNSYNyg36sAvfctIWeFdWLpj0X-ZI6SeVYjLYZsvLsT634eszb6hQo1Ni3CLO6nSi0muCRWNMNQBItZLYlTWNEo6NeYki3oYvJta0vobO4A4u9-XkuNAw2pb-KhjcM1jXsLOH1BHmYdIb2GE3nCk1rZH5PgBYLGlyycHPBVy5TGNche8vFbRxpLqx_l-qu_Visx_Hi2KDgS4dIKGmHPurygFVuBfWqrC_vTh4WmqQft04Y5CQF3863H6Op9Pl143w\u0026h=NI21NVL1w4T0s1GZveIpCzz7TtlxVsW0lP2v0WE0cB8+4": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466801020742605\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=h5BNkn4XTTFWmHUqZz7aremYFJbZojU9JzWhESdXMyWxZrTZwS52bKWqPTQPA1rGj3hvltc05C4hbDy94OsdFIIPyyrk7PVQAS3Fbn4oY1GUB9qB9A2usBeBn9CeYU8p8FTU929A0Xfci-STtimr4CyIcHk43Pl8IAqgJbjW_P5eo7AmdDyklgJjhpWYrTuta0wKuTsrZWWUR8czB8rfxGmQKlpOPvOLsmAy3DTGwY_bCq82_v0rpy_61p74HlwCrNtpQGMB2tPiQyp8tBDu9OrihpSiYh943D_dKcHAHgOGDRz6jNPomxkjdWkvbuu7Xj_XPYcvvCnOBcQxmu2I7A\u0026h=6YEkS-WvYdJYptMSbbb0kmoVmQXlcPbmSCO2fcJzU6E", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467394439299714\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=ZKaxDf3CmI4l7DvUCf7ulu738lgr2id6Du5zqRQmlKs_RqzRW5Qdani9Snszw4hyK2LQDE_aevimhvbD2ds7fyNSYNyg36sAvfctIWeFdWLpj0X-ZI6SeVYjLYZsvLsT634eszb6hQo1Ni3CLO6nSi0muCRWNMNQBItZLYlTWNEo6NeYki3oYvJta0vobO4A4u9-XkuNAw2pb-KhjcM1jXsLOH1BHmYdIb2GE3nCk1rZH5PgBYLGlyycHPBVy5TGNche8vFbRxpLqx_l-qu_Visx_Hi2KDgS4dIKGmHPurygFVuBfWqrC_vTh4WmqQft04Y5CQF3863H6Op9Pl143w\u0026h=NI21NVL1w4T0s1GZveIpCzz7TtlxVsW0lP2v0WE0cB8", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "4" ], - "x-ms-client-request-id": [ "10e4fa3f-b699-4be5-92bf-d06967fe474f" ], + "x-ms-client-request-id": [ "d0f6ee25-ed0d-4225-b911-7dd6384ef2b8" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -150,23 +150,23 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"65006466-0000-0100-0000-65fd0f6e0000\"" ], + "ETag": [ "\"9c0043e0-0000-0100-0000-65fdf7390000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "b388080d-3452-4fd5-8a3e-c4358c585eeb" ], - "x-ms-correlation-request-id": [ "f3a90fb5-6567-4d95-b3ab-14ec4b6b92d7" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045633Z:f3a90fb5-6567-4d95-b3ab-14ec4b6b92d7" ], + "x-ms-request-id": [ "4c9f724c-1397-462d-bc3e-4063ff40d221" ], + "x-ms-correlation-request-id": [ "6d9291fb-c503-4b59-9210-b2015b4a97df" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212535Z:6d9291fb-c503-4b59-9210-b2015b4a97df" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 6D61A854A4DB4A88B51303CB9B4DCF1D Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:56:33Z" ], - "Date": [ "Fri, 22 Mar 2024 04:56:33 GMT" ] + "X-MSEdge-Ref": [ "Ref A: D74CB65D47A140D08DB3172E8218007C Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:25:35Z" ], + "Date": [ "Fri, 22 Mar 2024 21:25:35 GMT" ] }, "ContentHeaders": { "Content-Length": [ "584" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:55:00.7305217Z\",\"endTime\":\"2024-03-22T04:56:14.4983748Z\",\"error\":{},\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T21:24:02.6463681Z\",\"endTime\":\"2024-03-22T21:25:13.2158696Z\",\"error\":{},\"properties\":null}", "isContentBase64": false } }, @@ -179,7 +179,7 @@ "Headers": { "Authorization": [ "[Filtered]" ], "x-ms-unique-id": [ "5" ], - "x-ms-client-request-id": [ "10e4fa3f-b699-4be5-92bf-d06967fe474f" ], + "x-ms-client-request-id": [ "d0f6ee25-ed0d-4225-b911-7dd6384ef2b8" ], "CommandName": [ "Az.StackHCIVM.internal\\New-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "New-AzStackHCIVMGalleryImage_CreateExpanded" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -193,24 +193,24 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"d6007886-0000-0100-0000-65fd0f6f0000\"" ], + "ETag": [ "\"1001890a-0000-0100-0000-65fdf73a0000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "adfb2da2-1b1f-4bb9-9d0e-1413e9461ad3" ], - "x-ms-correlation-request-id": [ "e5604454-07be-4e68-90d1-b5615dcf1006" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045633Z:e5604454-07be-4e68-90d1-b5615dcf1006" ], + "x-ms-request-id": [ "aa554742-7e14-48c0-86f7-0f68e0c7936d" ], + "x-ms-correlation-request-id": [ "03673916-0550-489b-bd2f-ea7e458f8c11" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212535Z:03673916-0550-489b-bd2f-ea7e458f8c11" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: EB1689CB83FA463FBF31AAB9A97D5FF4 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:56:33Z" ], - "Date": [ "Fri, 22 Mar 2024 04:56:33 GMT" ] + "X-MSEdge-Ref": [ "Ref A: D77C1B5EA9D143999B8EA96F439E8B7D Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:25:35Z" ], + "Date": [ "Fri, 22 Mar 2024 21:25:35 GMT" ] }, "ContentHeaders": { "Content-Length": [ "1117" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:55:00.6523822Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:56:15.3905212Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:24:02.5705854Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T21:25:14.3109348Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}}", "isContentBase64": false } }, @@ -232,26 +232,26 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"63001134-0000-0100-0000-65fd0f820000\"" ], + "ETag": [ "\"7b0061ba-0000-0100-0000-65fdf7500000\"" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], "x-ms-providerhub-traffic": [ "True" ], "X-Content-Type-Options": [ "nosniff" ], - "mise-correlation-id": [ "9edef779-a4ae-43d6-8817-718e86ce3612" ], - "x-ms-request-id": [ "f801216e-e9c2-4c61-a65f-6be7c0ffb0c8" ], - "x-ms-correlation-request-id": [ "8afb574e-4949-447d-9e96-0a01b8946499" ], + "mise-correlation-id": [ "cea05675-69fa-48df-8031-bae1d8256bdd" ], + "x-ms-request-id": [ "e4b487c6-38e2-4a78-8229-579900bb808c" ], + "x-ms-correlation-request-id": [ "fffe65c6-0e5d-4917-822c-e08ff910d3ff" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/69e66ebd-bde7-4eed-86ca-6e7ea9282845*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF?api-version=2024-01-01\u0026t=638466801953362615\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=WYoEfvZuu89WEUBBNu3qkgqhyprRbrkPhfCHwn3z_QHp_hw9wV0wo5Kxn50yt8ZgEJOQCl-5LadOTsH5X6YAU-KhAAy1NBmoUPT7x_uQBYPMYjx4UejvzSrOK6E54ZWIDK9TMETObNfHR7uXiRBF1Oh2jeU5SZ5nBA7xKw2qRJI92792-5R6Yt39WL3v3TOrLK64JJc0xEwWdUjrCieHsoosn_qkGoSsGHu9Ehgg7ccqTgoNvPWBUqhO3ymi302epSwDklA58oePDT7tQUqaovYFlyNxuO1NaCEQ_9TyGiAs6szda5Qi4rbUYJxPQTN2ywGmdF0e4xIRmTS02cRQxQ\u0026h=wgKNemH7d3CJD75lLbbVN7riiEiADtbAwvZfclKjhCg" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045635Z:8afb574e-4949-447d-9e96-0a01b8946499" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/6820c1da-f2d5-4cb7-9162-65251004c723*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF?api-version=2024-01-01\u0026t=638467395374968042\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=Wuh6cYhMvY0h2Q-nUhKe_qjkLLwhjRWHW2u8rjb0W6dpVIrqtjlAynlLDRYdsFr7pqPyAPxsGMh9js2GmaM5XcpEwnU4cugUnmrvf0UXBGvbI5ObBHlQfEfYStxAi3e0bkVDQ1Lzc1LSZtx5m7XggIf3wylScqm2VwopA86Eo3ffwu4lN5uHA42s6uOp8oF5tYaKIDNOkbmK1yu--zpSc81Tf8sPMhbUXytfNVSlMErWYQ89BT5ngNyzx70tXQHwzJWpLu-a6N0bVmuZUUtulP4YagAPR5yBwA42OmkBbSGn3Vp1fevmSO1lupQPOvMJJKihXv3zmbKBiYgspu-c4A\u0026h=8E9vFLn-evoMjrcOJpIaYXiFcxvwcH050QImYnyVGEk" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212537Z:fffe65c6-0e5d-4917-822c-e08ff910d3ff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 264C5876CADC489CBF7CB01636A2A4E2 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:56:33Z" ], - "Date": [ "Fri, 22 Mar 2024 04:56:35 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C34F5A83518D4AAE9E56DB43F24685ED Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:25:35Z" ], + "Date": [ "Fri, 22 Mar 2024 21:25:37 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1309" ], + "Content-Length": [ "967" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T22:22:23.9144905Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:56:34.3365138Z\"},\"properties\":{\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}},\"name\":\"20348.1850.230906\"},\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"411657cd-a265-466c-baa5-f879ee4c3a81*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6292},\"progressPercentage\":100},\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"osType\":\"Windows\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", "isContentBase64": false } }, @@ -263,7 +263,7 @@ "isContentBase64": false, "Headers": { "x-ms-unique-id": [ "7" ], - "x-ms-client-request-id": [ "7268bc6e-e040-48ee-a829-6cef38d169db" ], + "x-ms-client-request-id": [ "b1dba8b6-b278-45e2-b16c-c74cd6a41694" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -278,24 +278,24 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"6300c938-0000-0100-0000-65fd0fbd0000\"" ], + "ETag": [ "\"7b0061ba-0000-0100-0000-65fdf7500000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "6ac64b11-b0d7-479c-ba34-360580cb1b19" ], - "x-ms-correlation-request-id": [ "895abb7f-5435-4a04-aa14-22c23c664041" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045735Z:895abb7f-5435-4a04-aa14-22c23c664041" ], + "x-ms-request-id": [ "84ba3e0b-9d3e-421d-8e4c-1bcfbce938e5" ], + "x-ms-correlation-request-id": [ "6275b2f9-9ab8-4c44-bf83-56ae1e74b06f" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212637Z:6275b2f9-9ab8-4c44-bf83-56ae1e74b06f" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 817C879955ED43F6BB9960F7FD1333CC Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:35Z" ], - "Date": [ "Fri, 22 Mar 2024 04:57:35 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 65A89C1C4B60489894547E8A09EB58A3 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:26:37Z" ], + "Date": [ "Fri, 22 Mar 2024 21:26:37 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1307" ], + "Content-Length": [ "967" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T22:22:23.9144905Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:56:34.3365138Z\"},\"properties\":{\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}},\"name\":\"20348.1850.230906\"},\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"411657cd-a265-466c-baa5-f879ee4c3a81*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6292},\"progressPercentage\":100},\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"osType\":\"Windows\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", "isContentBase64": false } }, @@ -307,7 +307,7 @@ "isContentBase64": false, "Headers": { "x-ms-unique-id": [ "8" ], - "x-ms-client-request-id": [ "280c1a8e-f1e0-47f7-b78f-894e066445d1" ], + "x-ms-client-request-id": [ "6909c4b7-4d8e-4865-b7f1-868f78acda19" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -322,24 +322,2928 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"6300c938-0000-0100-0000-65fd0fbd0000\"" ], + "ETag": [ "\"7b00e9c2-0000-0100-0000-65fdf7910000\"" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "7f28a225-7b62-4937-be9d-cfe0a9d8d64a" ], - "x-ms-correlation-request-id": [ "8ca4cae4-7c04-4a55-bb60-cc1194d1f274" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045741Z:8ca4cae4-7c04-4a55-bb60-cc1194d1f274" ], + "x-ms-request-id": [ "9b319a93-963d-4df2-aace-b31c3ded47a1" ], + "x-ms-correlation-request-id": [ "42e0a8be-2b3a-4aa1-9fc8-a00a87b89e08" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212643Z:42e0a8be-2b3a-4aa1-9fc8-a00a87b89e08" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 0183A75B5F6C4F6DB42F16293A343B48 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:40Z" ], - "Date": [ "Fri, 22 Mar 2024 04:57:40 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 8C660DEDECB848E4B11BFDAA554C61CD Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:26:42Z" ], + "Date": [ "Fri, 22 Mar 2024 21:26:42 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "1307" ], + "Content-Length": [ "967" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T22:22:23.9144905Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:56:34.3365138Z\"},\"properties\":{\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}},\"name\":\"20348.1850.230906\"},\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"411657cd-a265-466c-baa5-f879ee4c3a81*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6292},\"progressPercentage\":100},\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"osType\":\"Windows\"}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+4": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "9" ], + "x-ms-client-request-id": [ "0d819d4a-40f9-47a5-835a-28c76ca1e0e3" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00e9c2-0000-0100-0000-65fdf7910000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "0033437c-513f-40e6-9246-b56d15461033" ], + "x-ms-correlation-request-id": [ "644be113-3f6d-45a1-87e3-47245825ca61" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212648Z:644be113-3f6d-45a1-87e3-47245825ca61" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: EA2D4058745C4684A35E82DC513CE096 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:26:48Z" ], + "Date": [ "Fri, 22 Mar 2024 21:26:48 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "967" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\"},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\"}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+5": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "10" ], + "x-ms-client-request-id": [ "ac0bfced-fb40-45ba-976e-045d63f2ed5d" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f5c3-0000-0100-0000-65fdf79b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212653Z:6c5319ac-4a3a-4370-b9bd-6f0d1b38ccf3" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "e0e039f3-0ad0-49fd-8be9-42b3d3f36c29" ], + "x-ms-correlation-request-id": [ "6c5319ac-4a3a-4370-b9bd-6f0d1b38ccf3" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 17618B06BE8B47848DEA2165FF703CEE Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:26:53Z" ], + "Date": [ "Fri, 22 Mar 2024 21:26:53 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+6": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "11" ], + "x-ms-client-request-id": [ "c90b7dc4-dfde-4809-8ae4-59795dfe4ccd" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f5c3-0000-0100-0000-65fdf79b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "a55003c1-e858-46d4-bb0e-93cec4ad1005" ], + "x-ms-correlation-request-id": [ "8f761c56-3ec1-4f2c-9912-36f236f930a0" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212658Z:8f761c56-3ec1-4f2c-9912-36f236f930a0" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 75A31565EBA64E7C9B88D4C7D879C9E4 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:26:58Z" ], + "Date": [ "Fri, 22 Mar 2024 21:26:58 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+7": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "12" ], + "x-ms-client-request-id": [ "e8f9ee85-54d2-4ca7-9c42-042e78a274a2" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f5c3-0000-0100-0000-65fdf79b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "26a0656f-e028-4649-975e-8e5fc0a0da81" ], + "x-ms-correlation-request-id": [ "27ca5084-6869-4e46-8cf5-4673fb1b45d8" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212703Z:27ca5084-6869-4e46-8cf5-4673fb1b45d8" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: FB04AB869AF34788BAED3ED8E53E5755 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:03Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:03 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+8": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "13" ], + "x-ms-client-request-id": [ "2c195f9c-32f5-466a-86dd-04158207332c" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f5c3-0000-0100-0000-65fdf79b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "00858f93-be78-40f0-81b7-4947ff4987d4" ], + "x-ms-correlation-request-id": [ "140e5855-2721-4931-ac36-5136b9d5dc0d" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212709Z:140e5855-2721-4931-ac36-5136b9d5dc0d" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 151A4921FD784DACA330326BB5012BF0 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:09Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:09 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+9": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "14" ], + "x-ms-client-request-id": [ "d9fa6228-a09f-4c18-8402-be5a85272ca8" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b000aca-0000-0100-0000-65fdf7ae0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "8a79bd66-1869-478c-abd7-836f96bb5b0a" ], + "x-ms-correlation-request-id": [ "c9699d5a-0eff-46bd-9e5b-c165f4d82fd9" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212714Z:c9699d5a-0eff-46bd-9e5b-c165f4d82fd9" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: CA5594D4194D4BC19E28521DB1C0311C Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:14Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:14 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+10": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "15" ], + "x-ms-client-request-id": [ "96f6f0df-09b1-432e-8dfe-c1dae7482242" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b000aca-0000-0100-0000-65fdf7ae0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "0b2f0ffb-255d-40d9-8a72-0af01456d6f6" ], + "x-ms-correlation-request-id": [ "766b7924-2df4-4f5d-a0cd-7508696a0449" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212719Z:766b7924-2df4-4f5d-a0cd-7508696a0449" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 3884DE6D916E4B249791CA200749A611 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:19Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:19 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+11": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "16" ], + "x-ms-client-request-id": [ "7b54ebd2-7529-4e4a-b58f-f2f58ca060fe" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b000aca-0000-0100-0000-65fdf7ae0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "4fcd86ab-bedd-4d9d-b742-ca8afdf8be19" ], + "x-ms-correlation-request-id": [ "0a88a5b4-6c8e-452a-8869-946e9be1fa2a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212724Z:0a88a5b4-6c8e-452a-8869-946e9be1fa2a" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 551F0AA33EA84778AD52A8D8810674F2 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:24Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:24 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+12": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "17" ], + "x-ms-client-request-id": [ "0f0a8eaf-8ad5-490a-b707-a19bca2d06db" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b000aca-0000-0100-0000-65fdf7ae0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "52fbbecc-1024-406f-915d-195a319a8a01" ], + "x-ms-correlation-request-id": [ "9725958b-f56a-47c9-aa36-da8bfc4648a5" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212730Z:9725958b-f56a-47c9-aa36-da8bfc4648a5" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 811B981205864FA0B178AA78892B0311 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:30Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:30 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+13": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "18" ], + "x-ms-client-request-id": [ "5c0b52b3-8e4b-4cf1-b5e8-50c24e0dd022" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b000aca-0000-0100-0000-65fdf7ae0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "3fae0617-ddb6-4e5c-860a-af6d97edb178" ], + "x-ms-correlation-request-id": [ "ac0a1f5f-303e-46b3-8dd4-072d0819ee8f" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212735Z:ac0a1f5f-303e-46b3-8dd4-072d0819ee8f" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: CF78B66518454FDBACFE8B99E0D5882E Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:35Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:35 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+14": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "19" ], + "x-ms-client-request-id": [ "0dbfb9fc-f6ef-46ab-a87c-62324a4a9a43" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b000aca-0000-0100-0000-65fdf7ae0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "161497aa-78d6-4717-a1f3-6554b80b2bf1" ], + "x-ms-correlation-request-id": [ "5241d71d-13c6-4ecc-bf16-c5368591dcca" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212740Z:5241d71d-13c6-4ecc-bf16-c5368591dcca" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: FC6E6A16DF54414EBA921F3C1A54A403 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:40Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:40 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+15": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "20" ], + "x-ms-client-request-id": [ "023cd8a0-a8c0-4ced-9277-1c93770dcbd7" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00e6d6-0000-0100-0000-65fdf7cf0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "3f77b4f5-a6b4-44f6-948f-49a0fe7fd621" ], + "x-ms-correlation-request-id": [ "3c62b82e-62d9-4de5-9d5c-9f813f69f697" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212746Z:3c62b82e-62d9-4de5-9d5c-9f813f69f697" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: EE7A0F4C6F9148C08025A534FA2464D3 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:45Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:45 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+16": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "21" ], + "x-ms-client-request-id": [ "81b57608-d1bf-4a5b-8aeb-87246cbad752" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212751Z:b99c9701-68b1-46cd-9314-56b2556e7fb6" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "44e6fd16-5521-4d46-9edb-895ce5671d15" ], + "x-ms-correlation-request-id": [ "b99c9701-68b1-46cd-9314-56b2556e7fb6" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 0A34825F79CC4B7CACA8A2B97B424A88 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:51Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:51 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+17": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "22" ], + "x-ms-client-request-id": [ "b9ed146b-81c2-49fe-af15-c4e97faf9786" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "ab4dd700-d616-4cea-a773-abcd1e8700ce" ], + "x-ms-correlation-request-id": [ "00c4b85b-f485-4849-971a-8245986b27c7" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212756Z:00c4b85b-f485-4849-971a-8245986b27c7" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 7D0A4E252B264E25B96426A4CA412C70 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:27:56Z" ], + "Date": [ "Fri, 22 Mar 2024 21:27:56 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+18": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "23" ], + "x-ms-client-request-id": [ "1fe5a544-3b45-463c-92b5-58d81f62e1e2" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "e3085078-93a3-409d-9056-3cc52ed81ea3" ], + "x-ms-correlation-request-id": [ "f6ee8327-2d2b-4b32-89e6-15c44fb5b4d3" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212801Z:f6ee8327-2d2b-4b32-89e6-15c44fb5b4d3" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 5DF3293B3E5A4A06B8A149C536C7AC4F Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:01Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:01 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+19": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "24" ], + "x-ms-client-request-id": [ "3a518c79-725d-40bc-977c-f6665c981159" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "8caabaef-e2e1-4909-afb3-7fca565cb490" ], + "x-ms-correlation-request-id": [ "fb205ffd-0b96-4c3b-8ffb-3c2858ffe426" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212807Z:fb205ffd-0b96-4c3b-8ffb-3c2858ffe426" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: A1EDEB071A744E4B9AF57853B42FAB5B Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:06Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:06 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+20": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "25" ], + "x-ms-client-request-id": [ "540b402f-b27a-46e4-911c-3b2862427212" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "b8ce9ec6-00bb-4f5b-b75c-b1ce27deccb1" ], + "x-ms-correlation-request-id": [ "b50a24d7-d683-4d74-be20-b49dcef6f0ae" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212812Z:b50a24d7-d683-4d74-be20-b49dcef6f0ae" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 6D30A321E73742D0AAF12D17554CA270 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:12Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:12 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+21": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "26" ], + "x-ms-client-request-id": [ "aec71f10-8901-48fc-ad4f-a700045f30d4" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "37f6c9ca-a6bf-41eb-9102-6a7069989028" ], + "x-ms-correlation-request-id": [ "89faf9ab-513f-448e-b60a-03b0cb3eab7c" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212817Z:89faf9ab-513f-448e-b60a-03b0cb3eab7c" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 895C16B11A7B4626AAC17E9262371D8F Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:17Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:17 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+22": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "27" ], + "x-ms-client-request-id": [ "ee828fdf-6156-42b1-954c-d64d2e56fd6f" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "c54eb084-e0e1-45a0-b408-0bf0bd8891a4" ], + "x-ms-correlation-request-id": [ "d11d82de-3236-431e-83cc-cee91d7a9d71" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212822Z:d11d82de-3236-431e-83cc-cee91d7a9d71" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: D690BD051CDE44FDAD2E5A55022ABE7C Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:22Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:22 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+23": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "28" ], + "x-ms-client-request-id": [ "07cb617e-dcf7-41a3-a056-6cac40013a1a" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212828Z:ad902967-8948-4158-98e4-d884cc067b3c" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "d18e8578-492a-47f0-b43c-8839029d50f5" ], + "x-ms-correlation-request-id": [ "ad902967-8948-4158-98e4-d884cc067b3c" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 9510AD42B5AB49E9A3971F63AFE63C77 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:27Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:27 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+24": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "29" ], + "x-ms-client-request-id": [ "fac50e4f-e32d-48cb-a0cf-a49442054e93" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "6e8ceb4a-892b-401d-a3a7-6c09a6cb8459" ], + "x-ms-correlation-request-id": [ "d63dc94a-1888-4b1b-b910-6cb51943a27a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212833Z:d63dc94a-1888-4b1b-b910-6cb51943a27a" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 01A605644C42414A8BB42964C2954C61 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:33Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:33 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+25": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "30" ], + "x-ms-client-request-id": [ "aeae9c0b-cce6-40af-98a1-b6374b270375" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "e4d921c0-fdb2-4ca3-bdff-bac44a86d94f" ], + "x-ms-correlation-request-id": [ "38af8514-5df3-4200-99f5-22dfb6ded72c" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212838Z:38af8514-5df3-4200-99f5-22dfb6ded72c" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: DD548B11C72F490CBCA9696145EB30AB Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:38Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:38 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+26": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "31" ], + "x-ms-client-request-id": [ "e4123fbd-60eb-4bbe-bef3-b61a6c1d0e21" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00c3d8-0000-0100-0000-65fdf7d60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "2b958a03-d536-4164-ad26-f56b9828f228" ], + "x-ms-correlation-request-id": [ "7c9f5061-8850-4531-a25a-1413abe98a9a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212843Z:7c9f5061-8850-4531-a25a-1413abe98a9a" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 084D0DDC969543C495DD6D9EF1C9316E Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:43Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:43 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+27": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "32" ], + "x-ms-client-request-id": [ "a99b9ead-5d10-4716-aa4f-cbdc8e1f2669" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0085e3-0000-0100-0000-65fdf80e0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "739b1a66-9e88-4fec-8f70-aa31b6959429" ], + "x-ms-correlation-request-id": [ "70f9956a-e9c0-4e8e-96ac-3eb4f2d3acb7" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212849Z:70f9956a-e9c0-4e8e-96ac-3eb4f2d3acb7" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: BEF74C1295EF4BFCAB236CC8DEF4318A Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:48Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:48 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1106" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{}}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+28": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "33" ], + "x-ms-client-request-id": [ "ffb9a231-b1a5-4433-87ec-943609265109" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f9e3-0000-0100-0000-65fdf8130000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "a291cb1c-f83a-4da8-8055-a3f179525f8f" ], + "x-ms-correlation-request-id": [ "9671cb4f-7ecf-4615-8bd7-c97ef977f57d" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212854Z:9671cb4f-7ecf-4615-8bd7-c97ef977f57d" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: DB3F43A9EA2C4C0CB46CF655248590AA Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:54Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:54 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1169" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":791},\"progressPercentage\":11}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+29": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "34" ], + "x-ms-client-request-id": [ "0a0ffc27-9421-49df-85a0-5b3ca2d0870a" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f9e3-0000-0100-0000-65fdf8130000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "761295a8-ca2b-47c5-9d9c-68bdb2c6b016" ], + "x-ms-correlation-request-id": [ "3a43cb14-758c-41c9-8afe-4fb522f7879d" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212859Z:3a43cb14-758c-41c9-8afe-4fb522f7879d" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 8472A08B651445CAAA5BEF20B1DD7E91 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:28:59Z" ], + "Date": [ "Fri, 22 Mar 2024 21:28:59 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1169" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":791},\"progressPercentage\":11}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+30": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "35" ], + "x-ms-client-request-id": [ "a0eebab9-c78a-4b63-932f-4e136d5089aa" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f9e3-0000-0100-0000-65fdf8130000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "3239c050-e859-40cf-bc21-0946465b06a1" ], + "x-ms-correlation-request-id": [ "884b279a-ac09-4739-a0e9-1c4b89a69928" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212905Z:884b279a-ac09-4739-a0e9-1c4b89a69928" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 3AC41960B8AF4E5FAE27A78693F6D1B0 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:04Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:04 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1169" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":791},\"progressPercentage\":11}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+31": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "36" ], + "x-ms-client-request-id": [ "742175e0-a2b7-47f7-853a-a29a84f7a8f1" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f9e3-0000-0100-0000-65fdf8130000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "51b103a9-4dc7-4cc9-bf89-89b571c0dda6" ], + "x-ms-correlation-request-id": [ "141d6303-04b1-4da0-ad13-04fb8864a46e" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212910Z:141d6303-04b1-4da0-ad13-04fb8864a46e" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 2CA36B2BFCB941408762F3217E6BEDE5 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:10Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:10 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1169" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":791},\"progressPercentage\":11}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+32": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "37" ], + "x-ms-client-request-id": [ "d41e20ef-103b-46d1-b966-43af0fda2aa4" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f9e3-0000-0100-0000-65fdf8130000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "c924f2ce-cbe0-421c-94f7-f02c7246da60" ], + "x-ms-correlation-request-id": [ "21ff0980-d981-46e8-9764-0286fd44cb24" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212915Z:21ff0980-d981-46e8-9764-0286fd44cb24" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 4A39A079499643A9B3733486B5B18B1D Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:15Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:15 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1169" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":791},\"progressPercentage\":11}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+33": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "38" ], + "x-ms-client-request-id": [ "a2255a0d-d9e2-4a21-b46b-627f1be6258d" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f9e3-0000-0100-0000-65fdf8130000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "7addf71f-6395-4f80-87df-e387bb73c82e" ], + "x-ms-correlation-request-id": [ "e0fef176-6ffc-4244-8726-68f2e3024741" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212920Z:e0fef176-6ffc-4244-8726-68f2e3024741" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 262DE1115E554516BC422C1FE65919E3 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:20Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:20 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1169" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":791},\"progressPercentage\":11}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+34": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "39" ], + "x-ms-client-request-id": [ "f9b9013a-82f1-47e9-a2da-a5a6dc574dd2" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f3e6-0000-0100-0000-65fdf8300000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "2b44b9e2-8b68-42dd-93b6-f11a541e3ce2" ], + "x-ms-correlation-request-id": [ "0865bedf-6522-4def-a3bb-fc6cbf0ba220" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212926Z:0865bedf-6522-4def-a3bb-fc6cbf0ba220" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 609B7EB2E4334337BBBD663CB4965815 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:25Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:25 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":1649},\"progressPercentage\":23}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+35": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "40" ], + "x-ms-client-request-id": [ "b62e5dd9-b766-4d64-b8a6-5fcee75100a3" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f3e6-0000-0100-0000-65fdf8300000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "31080b6a-170d-499b-8b55-1b1ff746930b" ], + "x-ms-correlation-request-id": [ "0b35ea4b-081c-4e0d-9bed-61860c0cf394" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212931Z:0b35ea4b-081c-4e0d-9bed-61860c0cf394" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 56696B7C07B2400D9B1E783FF636D8C6 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:31Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:31 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":1649},\"progressPercentage\":23}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+36": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "41" ], + "x-ms-client-request-id": [ "b4bac415-d1aa-47ad-b096-557a11788278" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f3e6-0000-0100-0000-65fdf8300000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "094b728a-a5d8-4431-9211-e251351044bc" ], + "x-ms-correlation-request-id": [ "62ed8d93-eb88-46b5-ada9-ab600d235c08" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212936Z:62ed8d93-eb88-46b5-ada9-ab600d235c08" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 93E43DB41AA246639933E27DD723E8D1 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:36Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:36 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":1649},\"progressPercentage\":23}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+37": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "42" ], + "x-ms-client-request-id": [ "887b3dc4-8849-4593-aafd-17ca898ff372" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f3e6-0000-0100-0000-65fdf8300000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "c0314631-5c37-41a9-9e8d-fcc1eebfc56d" ], + "x-ms-correlation-request-id": [ "22b3f3fd-7c82-44d8-8cfa-f580d7ed3764" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212941Z:22b3f3fd-7c82-44d8-8cfa-f580d7ed3764" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: AB61BB097F084E6DA418D63FEAEAFB39 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:41Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:41 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":1649},\"progressPercentage\":23}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+38": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "43" ], + "x-ms-client-request-id": [ "2fad013d-26bf-4cf3-ba8f-979016101832" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00f3e6-0000-0100-0000-65fdf8300000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "815708cb-addf-497a-a965-29bb189b8040" ], + "x-ms-correlation-request-id": [ "a0114171-dd87-4f97-a62a-682aee38c00e" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212947Z:a0114171-dd87-4f97-a62a-682aee38c00e" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: EEBA2C137AA840C89C32CAC89FC48636 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:47Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:47 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":1649},\"progressPercentage\":23}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+39": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "44" ], + "x-ms-client-request-id": [ "52e506eb-7d1e-481b-9676-9a32be84d596" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00fce9-0000-0100-0000-65fdf84e0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "6246b874-ed51-4442-88ff-26cc8904a33a" ], + "x-ms-correlation-request-id": [ "94bf6c87-ecbd-4b96-ba63-6c4a97797f64" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212952Z:94bf6c87-ecbd-4b96-ba63-6c4a97797f64" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 76FE4EC8388740D1AF2DAA88B0EC80D9 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:52Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:52 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":2405},\"progressPercentage\":34}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+40": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "45" ], + "x-ms-client-request-id": [ "38885ee2-fa23-41e8-b498-ad55d034e9cc" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00fce9-0000-0100-0000-65fdf84e0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "a919dae2-0687-47b5-a0d6-a1bbbee90013" ], + "x-ms-correlation-request-id": [ "1498414d-841a-409c-bb0b-d946e32dcf8c" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T212957Z:1498414d-841a-409c-bb0b-d946e32dcf8c" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: D3BA8094AC0148BF8AF679F3561F4B13 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:29:57Z" ], + "Date": [ "Fri, 22 Mar 2024 21:29:57 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":2405},\"progressPercentage\":34}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+41": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "46" ], + "x-ms-client-request-id": [ "e86b62c4-9754-4c67-b2dc-b051892dd886" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00fce9-0000-0100-0000-65fdf84e0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "5421aae0-122e-42e7-8255-a76fdb02e60c" ], + "x-ms-correlation-request-id": [ "93bcc4f8-ddf3-48b0-96f3-eabf372e6814" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213003Z:93bcc4f8-ddf3-48b0-96f3-eabf372e6814" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 4D17B444D7B742249FE83B5738C224B3 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:02Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:02 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":2405},\"progressPercentage\":34}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+42": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "47" ], + "x-ms-client-request-id": [ "0ec26896-a452-4cf9-8d4d-46a1b6baabbe" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00fce9-0000-0100-0000-65fdf84e0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "a0d3ce1b-59d2-41d3-bd1b-1cb1b338ab47" ], + "x-ms-correlation-request-id": [ "ea1c7e2c-fc76-49f2-92d7-4b9adbe5aed7" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213008Z:ea1c7e2c-fc76-49f2-92d7-4b9adbe5aed7" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 4C8026DEF045468F896F9EA3939A1B33 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:08Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:08 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":2405},\"progressPercentage\":34}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+43": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "48" ], + "x-ms-client-request-id": [ "a77542a0-1379-4e36-ae6a-4928c93762fc" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00fce9-0000-0100-0000-65fdf84e0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "55b247d2-1b4a-4b75-b3ad-728cae3f3ea5" ], + "x-ms-correlation-request-id": [ "7a627417-4c1d-4a82-8092-c2275bf32814" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213013Z:7a627417-4c1d-4a82-8092-c2275bf32814" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: C367348BA9604AF48E3E1833638FB63B Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:13Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:13 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":2405},\"progressPercentage\":34}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+44": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "49" ], + "x-ms-client-request-id": [ "97f90ebb-ea30-42b2-8496-3829596cd7e4" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00fce9-0000-0100-0000-65fdf84e0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "037d3993-3b66-48e9-91ef-e5b3f9f649bd" ], + "x-ms-correlation-request-id": [ "4ba6d344-ed36-4272-9afd-9e3503be0072" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213018Z:4ba6d344-ed36-4272-9afd-9e3503be0072" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 66AE0304FE194FCDAF00475AF429EC46 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:18Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:18 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":2405},\"progressPercentage\":34}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+45": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "50" ], + "x-ms-client-request-id": [ "c3b810af-6de3-4588-aa69-35f10a7939ad" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b007bed-0000-0100-0000-65fdf86c0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "c3aa7cdc-25ac-482d-99a8-ab4e445efbd9" ], + "x-ms-correlation-request-id": [ "e13bb28f-7b1a-4726-b213-ecc48b3c4327" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213024Z:e13bb28f-7b1a-4726-b213-ecc48b3c4327" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: A8F463CE6F41446D8F3EB2EADF72CFA0 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:23Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:23 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":3903},\"progressPercentage\":56}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+46": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "51" ], + "x-ms-client-request-id": [ "ea1f8da4-c529-4c71-84e1-f3b1d98e938a" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b007bed-0000-0100-0000-65fdf86c0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "308c5f6d-2335-4a06-aeb7-f65308b5f7a5" ], + "x-ms-correlation-request-id": [ "0eeb6269-0aba-4a25-8fe8-9d3518195bc8" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213029Z:0eeb6269-0aba-4a25-8fe8-9d3518195bc8" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 68D5D8C1AB3449C49B8ED98107C19082 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:29Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:29 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":3903},\"progressPercentage\":56}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+47": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "52" ], + "x-ms-client-request-id": [ "26cba8d5-734b-4cef-8cc9-fa65fe37cb8a" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b007bed-0000-0100-0000-65fdf86c0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213034Z:d60a6c6c-3c76-4916-aa3d-81af2bc568c4" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "8f6e4d6c-5b44-4d4b-bd0e-835fa8339601" ], + "x-ms-correlation-request-id": [ "d60a6c6c-3c76-4916-aa3d-81af2bc568c4" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: A4ED490FA31742A8AEF8FB6EB1DF4195 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:34Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:34 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":3903},\"progressPercentage\":56}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+48": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "53" ], + "x-ms-client-request-id": [ "3a866223-6cdb-43b4-9b82-2bcbd4f7a9b1" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b007bed-0000-0100-0000-65fdf86c0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "21cfb7ff-5354-411f-bb8c-53764c317d24" ], + "x-ms-correlation-request-id": [ "8505e24b-2ecb-4605-a8a6-797a5defccd0" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213039Z:8505e24b-2ecb-4605-a8a6-797a5defccd0" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 3768DD89D31D4B47A9503DD1C2444A33 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:39Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:39 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":3903},\"progressPercentage\":56}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+49": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "54" ], + "x-ms-client-request-id": [ "bf86c65c-8d98-4a49-a8a9-98a2340cf09e" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b007bed-0000-0100-0000-65fdf86c0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "a32b5a60-2231-4870-bee7-a6c78a33135d" ], + "x-ms-correlation-request-id": [ "e3573485-ac57-4dcc-b7a5-2473827b914e" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213045Z:e3573485-ac57-4dcc-b7a5-2473827b914e" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: D922165DECE24F53A36F4904B49455C6 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:45Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:44 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":3903},\"progressPercentage\":56}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+50": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "55" ], + "x-ms-client-request-id": [ "dd2c26e5-5ef0-4f26-a48c-a4b438b79071" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b007bed-0000-0100-0000-65fdf86c0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "2a320c89-5652-468c-a2be-2bfbe2b5d92f" ], + "x-ms-correlation-request-id": [ "82673494-0e47-4d92-86b0-59eda7a6deb3" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213050Z:82673494-0e47-4d92-86b0-59eda7a6deb3" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: BFD1DBB7D95A499DBD28B5AE7E094592 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:50Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:50 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":3903},\"progressPercentage\":56}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+51": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "56" ], + "x-ms-client-request-id": [ "3bde0bff-1384-4032-bdee-e01e7aad3f08" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00ddf0-0000-0100-0000-65fdf88b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "9feff5da-4790-4ef0-a723-fbba8ffc1989" ], + "x-ms-correlation-request-id": [ "69f22c3c-a78f-4241-9568-5ac233f4aebf" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213055Z:69f22c3c-a78f-4241-9568-5ac233f4aebf" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 5AF55606AA284F6CBC1CF09C20345B11 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:30:55Z" ], + "Date": [ "Fri, 22 Mar 2024 21:30:55 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4683},\"progressPercentage\":67}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+52": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "57" ], + "x-ms-client-request-id": [ "dce31cf9-e0a8-4330-a15b-30c0ac91c062" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00ddf0-0000-0100-0000-65fdf88b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "426b261c-ebd1-4534-a423-facccac3cf37" ], + "x-ms-correlation-request-id": [ "8ef6ccec-b132-44d0-9fbe-e3d2645bb83a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213100Z:8ef6ccec-b132-44d0-9fbe-e3d2645bb83a" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 888B59267D3D45FE94BE588C1E56763F Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:00Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:00 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4683},\"progressPercentage\":67}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+53": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "58" ], + "x-ms-client-request-id": [ "a1b605de-2a9a-4163-bd9c-44ec3301f907" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00ddf0-0000-0100-0000-65fdf88b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213106Z:47406758-f270-4768-9da8-ba610e32791e" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "e0f1ab09-c8c2-40c0-8610-7ec7d0a92181" ], + "x-ms-correlation-request-id": [ "47406758-f270-4768-9da8-ba610e32791e" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 3925DE44D59040F695492E5956A25C4A Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:06Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:05 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4683},\"progressPercentage\":67}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+54": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "59" ], + "x-ms-client-request-id": [ "9534bdbf-f900-408f-9c59-b26bb159a482" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00ddf0-0000-0100-0000-65fdf88b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "291fe769-da30-4c0b-ac1f-873565bb0383" ], + "x-ms-correlation-request-id": [ "5f7e970c-f48d-4d33-8943-71ce1ee1d902" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213111Z:5f7e970c-f48d-4d33-8943-71ce1ee1d902" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 1CB303CA7C584D399651DF82A6B52C75 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:11Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:11 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4683},\"progressPercentage\":67}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+55": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "60" ], + "x-ms-client-request-id": [ "a94476df-4fd0-4ab2-89e4-ac4863ad4867" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b00ddf0-0000-0100-0000-65fdf88b0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "b3837904-1cd4-49c8-89ed-30dde62cacab" ], + "x-ms-correlation-request-id": [ "e9dd4ce5-6058-4edd-ba7c-de30bc063e42" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213116Z:e9dd4ce5-6058-4edd-ba7c-de30bc063e42" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: E1BD6A0757B84BDC9909C6350B991F9D Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:16Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:16 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":4683},\"progressPercentage\":67}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+56": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "61" ], + "x-ms-client-request-id": [ "b1e31d78-4e91-4c8c-9094-7d2ea9b3ce42" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0063f4-0000-0100-0000-65fdf8a90000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "f451d3a0-a061-4cb0-89fa-146dd1ff265b" ], + "x-ms-correlation-request-id": [ "5f29b0ca-d7e9-40b6-854b-e028506ec200" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213121Z:5f29b0ca-d7e9-40b6-854b-e028506ec200" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 6377981DBAF947D7A86C68A378F62337 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:21Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:21 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":5455},\"progressPercentage\":78}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+57": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "62" ], + "x-ms-client-request-id": [ "4ed506f8-7a0a-4a5f-927b-d26790116be1" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0063f4-0000-0100-0000-65fdf8a90000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "d4044e4e-cd22-4a08-bbb6-02c47b2d6234" ], + "x-ms-correlation-request-id": [ "28c760b6-1de2-45ab-b2df-67db9324dcb2" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213127Z:28c760b6-1de2-45ab-b2df-67db9324dcb2" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 3E06DDD479EC4306A1F47BA97B270F29 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:27Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:26 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":5455},\"progressPercentage\":78}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+58": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "63" ], + "x-ms-client-request-id": [ "5a756604-7e70-45a1-bc26-61daa4bf0eba" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0063f4-0000-0100-0000-65fdf8a90000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "48fe62b4-ab12-48fb-aab5-6c10c6048524" ], + "x-ms-correlation-request-id": [ "010c3e17-09f6-430a-8a45-51d4b27d631f" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213132Z:010c3e17-09f6-430a-8a45-51d4b27d631f" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: E91633B2C9BA4BE08BA2B2DCBC175DAB Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:32Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:32 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":5455},\"progressPercentage\":78}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+59": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "64" ], + "x-ms-client-request-id": [ "54af0960-cd65-47d2-b764-a3e354c71c4b" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0063f4-0000-0100-0000-65fdf8a90000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "773e6f1f-ad9e-4d6e-9b80-52053ff3d4d8" ], + "x-ms-correlation-request-id": [ "fb5e943a-6327-4edb-bf18-faaabb2f5100" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213137Z:fb5e943a-6327-4edb-bf18-faaabb2f5100" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 87150E8A30014B9A865C67963F1BD819 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:37Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:37 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":5455},\"progressPercentage\":78}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+60": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "65" ], + "x-ms-client-request-id": [ "ddcb2e33-b9ba-4bd2-bf76-702a310bd359" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0063f4-0000-0100-0000-65fdf8a90000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "f8d604ad-c517-4272-9bdc-ad1128d31eb9" ], + "x-ms-correlation-request-id": [ "40d1df78-e6ac-418b-80a1-ce573a102ba2" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213143Z:40d1df78-e6ac-418b-80a1-ce573a102ba2" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 086A7317D8C7449BA2288D3FBDA8DA87 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:42Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:42 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":5455},\"progressPercentage\":78}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+61": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "66" ], + "x-ms-client-request-id": [ "19f045e9-11fb-445b-bb4c-2cd038a78a7b" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0063f4-0000-0100-0000-65fdf8a90000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "a1e7de7a-3b45-487c-beea-ed3124f6299b" ], + "x-ms-correlation-request-id": [ "8918d6c3-c0d7-498b-aaf5-336b0dd04559" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213148Z:8918d6c3-c0d7-498b-aaf5-336b0dd04559" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 4966921D007B47F68F7BA3C963157273 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:48Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:48 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":5455},\"progressPercentage\":78}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+62": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "67" ], + "x-ms-client-request-id": [ "fa2002f0-6b43-498e-b386-98e2558a38fc" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0047f7-0000-0100-0000-65fdf8c60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "4e947abb-92d5-4948-8fe8-2f979517dfa8" ], + "x-ms-correlation-request-id": [ "58ce3ba3-1eb1-44b9-b4de-6d1a8394ee12" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213154Z:58ce3ba3-1eb1-44b9-b4de-6d1a8394ee12" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 81F3063295A04CF487CA79B7B1EA3CCD Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:53Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:53 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":89}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+63": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "68" ], + "x-ms-client-request-id": [ "b183445e-53cf-4499-b380-e5b693ecab73" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0047f7-0000-0100-0000-65fdf8c60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "491358da-3d64-4a53-ab8a-336c52b2aaa6" ], + "x-ms-correlation-request-id": [ "3fd69f26-6115-4d6f-bb47-da8795a1f651" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213159Z:3fd69f26-6115-4d6f-bb47-da8795a1f651" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 3828056956D74E73ABD5A376B5C3DDBE Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:31:59Z" ], + "Date": [ "Fri, 22 Mar 2024 21:31:58 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":89}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+64": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "69" ], + "x-ms-client-request-id": [ "56e6816a-c6c6-4e23-8d49-b35adcdca449" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0047f7-0000-0100-0000-65fdf8c60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "e67c22c6-9b82-496e-a4a2-f2288756fe45" ], + "x-ms-correlation-request-id": [ "547b679b-1b19-4429-b11d-a8ce8df96fb9" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213204Z:547b679b-1b19-4429-b11d-a8ce8df96fb9" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 100F93126BF1499BA4FE1F3841226761 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:04Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:04 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":89}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+65": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "70" ], + "x-ms-client-request-id": [ "7b97b5bb-4691-45bc-89ac-e342f4037baf" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0047f7-0000-0100-0000-65fdf8c60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "abf4cf83-ec30-4e04-bde8-7a9e779e46f6" ], + "x-ms-correlation-request-id": [ "226d75a1-7a98-40dc-bb7a-b0a82e186599" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213209Z:226d75a1-7a98-40dc-bb7a-b0a82e186599" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 91415D2B02BF4365A0DB68932A71C804 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:09Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:09 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":89}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+66": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "71" ], + "x-ms-client-request-id": [ "14127716-4942-4b3f-85f7-aad176b557b0" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0047f7-0000-0100-0000-65fdf8c60000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "10b6fb4f-8c92-486f-8d72-b2984bdd68a9" ], + "x-ms-correlation-request-id": [ "b9a56571-1e28-43da-b469-89149ab92d9a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213214Z:b9a56571-1e28-43da-b469-89149ab92d9a" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: AF0130C73BF54130BB6019F67CC601BE Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:14Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:14 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1170" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Accepted\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":89}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+67": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "72" ], + "x-ms-client-request-id": [ "d73660cf-cc2c-4df6-9615-67607f71d5fc" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0055fc-0000-0100-0000-65fdf8e30000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "96c30924-45a8-4292-9dbf-36eaa372d38c" ], + "x-ms-correlation-request-id": [ "7105e96e-e33a-49b0-898f-43c45aa7d50f" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213220Z:7105e96e-e33a-49b0-898f-43c45aa7d50f" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 54EECBACE2454E939A20F1292B34F728 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:20Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:19 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1171" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T21:25:36.5593045Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":89}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+68": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "73" ], + "x-ms-client-request-id": [ "75a2d161-f25c-406e-8905-23b76911c42e" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0079fc-0000-0100-0000-65fdf8e40000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "36eb6c96-7def-44de-94b2-3bd6bcccaa37" ], + "x-ms-correlation-request-id": [ "b8e4348a-dcc7-45a3-9dfa-492223316b05" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213225Z:b8e4348a-dcc7-45a3-9dfa-492223316b05" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 7192ABE074614CA18714B133C6818724 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:25Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:25 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1331" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T21:32:20.2881001Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"6820c1da-f2d5-4cb7-9162-65251004c723*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":100}}}", + "isContentBase64": false + } + }, + "AzStackHCIVMImageNew+[NoContext]+Create MarketplaceImage +$GET+https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01+69": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262?api-version=2024-01-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "74" ], + "x-ms-client-request-id": [ "c958f330-9670-4235-a5de-6692a1023994" ], + "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], + "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.1", "Az.StackHCIVM/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "ETag": [ "\"7b0079fc-0000-0100-0000-65fdf8e40000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], + "x-ms-providerhub-traffic": [ "True" ], + "x-ms-request-id": [ "dbf156dd-b91a-4326-9ca7-5e4e2852ccb0" ], + "x-ms-correlation-request-id": [ "357eeaf2-e5b0-4dd2-b40c-ef75c976adc9" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213230Z:357eeaf2-e5b0-4dd2-b40c-ef75c976adc9" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: 99F5A1A0C8F2421C89BC1B4803795D9C Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:30Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:30 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1331" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T21:32:20.2881001Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"6820c1da-f2d5-4cb7-9162-65251004c723*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":100}}}", "isContentBase64": false } }, @@ -350,8 +3254,8 @@ "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "9" ], - "x-ms-client-request-id": [ "232ed06b-192e-4482-b026-17b7db1f4964" ], + "x-ms-unique-id": [ "75" ], + "x-ms-client-request-id": [ "d3f83469-16ce-4db3-b53e-bccd73dc0d64" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMGalleryImage_List" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -366,23 +3270,23 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-original-request-ids": [ "397c3363-3f7f-4d11-8a0f-105a2c1d8b96", "8a41c751-1db6-4a19-bcc1-df0bca1aa71b", "f70c50c7-fbf7-4704-86a5-b2f3763ca692", "e477141d-564f-4593-8d7f-7c66f7e2970e", "2ee53075-d55c-4fc9-85cd-15e7e823a61f", "6db2679b-b1a0-4966-b971-6430a8cf95a7", "6e481f01-3948-4638-8e55-1f8ea56a948f", "4df23014-29b3-46cd-8d56-874d5d4f1258", "2bc772d7-1e50-4b9d-8afe-e804ae9534d0", "e4e68f50-bd4a-4d18-a0b3-4f74a7c5c8a9" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-request-id": [ "32bd230a-b9e2-4272-a4bc-3e855e474998" ], - "x-ms-correlation-request-id": [ "32bd230a-b9e2-4272-a4bc-3e855e474998" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045742Z:32bd230a-b9e2-4272-a4bc-3e855e474998" ], + "x-ms-original-request-ids": [ "d21b53a6-6c90-4c0b-8377-820eb423171d", "6adab194-4ae8-430b-aef0-d0cadfc476e1", "0c51afff-c588-427a-8aae-3ba0f85fdee6", "d259a906-967b-41fc-89ed-51dd4dda2f81", "1c28fa93-b296-42bf-96ce-91a22f3a76b4", "667be275-df8b-419c-a0a1-5ee468d0fa37", "723736f4-97a4-477d-afec-d71f1ad274d7", "8ae10c4e-1236-42dc-b7a5-2b151bf872b2", "b3ac9359-143d-46c5-a8be-33a2d1115f6c", "c96b9d9a-9cde-4e43-a63c-a17fe1f0c352" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-request-id": [ "af4d2a70-7b86-45fb-a903-519482f2299a" ], + "x-ms-correlation-request-id": [ "af4d2a70-7b86-45fb-a903-519482f2299a" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213232Z:af4d2a70-7b86-45fb-a903-519482f2299a" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: D1222B7FEAA246CA92327E7766CCF2AB Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:41Z" ], - "Date": [ "Fri, 22 Mar 2024 04:57:42 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 1F70B9C259E94CBA92C6983DC0BAA757 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:30Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:31 GMT" ] }, "ContentHeaders": { "Content-Length": [ "7141" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryimages/rocky8\",\"name\":\"rocky8\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T18:24:54.0259076Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T21:45:49.4611227Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"2e727eab-51b0-4042-892e-cf1b42ad85ea*C2B37834E2545CD682C8AA317FDDDFBADED309AEEE6E4811C738138A0DAABCED\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryimages/suse15\",\"name\":\"suse15\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T19:27:09.8558256Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T21:45:50.2214707Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"393338cc-5408-4638-b967-8581ef60efd5*DF384C3E52C764F6E2C5BB161AD55BECACB2222445CBC2072287E95453F825A1\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0118-01\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\",\"name\":\"testImagevm0226\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:35:33.5866587Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:38:45.4895078Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"f2e1e26e-537c-4229-a5fa-4a0d05256748*8D9BB55FBEE593AA6760AFC74D14FE6CC89AAB6724F04CE89E94A8748009E9A8\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0229\",\"name\":\"testImagevm0229\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-29T19:59:01.2860355Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-29T20:00:14.2568976Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"43aec120-f077-4bfa-9af0-98d68e315c86*466E4D7C7FF30BBCC238FEF5D325E02FB1CD7F47F9F47A557492CEAAB5068498\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:55:00.6523822Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:56:15.3905212Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/img-pathuang-0305-01\",\"name\":\"img-pathuang-0305-01\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-12T20:56:13.787054Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-12T20:57:24.2903529Z\"},\"properties\":{\"provisioningState\":\"Failed\",\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"status\":{\"errorCode\":\"InvalidInput\",\"errorMessage\":\"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = Source for OS VirtualHardDisk empty: Invalid Input\",\"provisioningStatus\":{\"operationId\":\"b1468c94-59a5-40e9-9f83-22391df1bb84*67D3D73C2D791946E85C85C8D8B2954AECBAF07D668DCAFC4E40D52EE1AC217B\",\"status\":\"Failed\"},\"downloadStatus\":{}}}}]}", + "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryimages/rocky8\",\"name\":\"rocky8\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T18:24:54.0259076Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T21:45:49.4611227Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"2e727eab-51b0-4042-892e-cf1b42ad85ea*C2B37834E2545CD682C8AA317FDDDFBADED309AEEE6E4811C738138A0DAABCED\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryimages/suse15\",\"name\":\"suse15\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-25T19:27:09.8558256Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T21:45:50.2214707Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"393338cc-5408-4638-b967-8581ef60efd5*DF384C3E52C764F6E2C5BB161AD55BECACB2222445CBC2072287E95453F825A1\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"containerId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/storagecontainers/sc-pathuang-0118-01\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0226\",\"name\":\"testImagevm0226\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-27T06:35:33.5866587Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-27T06:38:45.4895078Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"f2e1e26e-537c-4229-a5fa-4a0d05256748*8D9BB55FBEE593AA6760AFC74D14FE6CC89AAB6724F04CE89E94A8748009E9A8\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImagevm0229\",\"name\":\"testImagevm0229\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-29T19:59:01.2860355Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-29T20:00:14.2568976Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"43aec120-f077-4bfa-9af0-98d68e315c86*466E4D7C7FF30BBCC238FEF5D325E02FB1CD7F47F9F47A557492CEAAB5068498\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:24:02.5705854Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T21:25:14.3109348Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/img-pathuang-0305-01\",\"name\":\"img-pathuang-0305-01\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-12T20:56:13.787054Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-12T20:57:24.2903529Z\"},\"properties\":{\"provisioningState\":\"Failed\",\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}},\"status\":{\"errorCode\":\"InvalidInput\",\"errorMessage\":\"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = Source for OS VirtualHardDisk empty: Invalid Input\",\"provisioningStatus\":{\"operationId\":\"b1468c94-59a5-40e9-9f83-22391df1bb84*67D3D73C2D791946E85C85C8D8B2954AECBAF07D668DCAFC4E40D52EE1AC217B\",\"status\":\"Failed\"},\"downloadStatus\":{}}}}]}", "isContentBase64": false } }, @@ -393,8 +3297,8 @@ "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "10" ], - "x-ms-client-request-id": [ "067f5d9d-dad4-4b06-8a4d-7c3298a680ae" ], + "x-ms-unique-id": [ "76" ], + "x-ms-client-request-id": [ "f1a3e7b3-7196-431a-8c6a-f69015ca64a4" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_List" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -409,23 +3313,23 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "x-ms-original-request-ids": [ "79fc49aa-7f7b-4234-a279-cdda89b821df", "e8ae95d4-3ad0-46ac-b72a-3c475c476f49", "36f870ce-5eb9-4b78-a89d-fa38b9dd18ce", "0f65965f-9830-44f5-84f7-6467bc2c175a", "be552a20-d8db-4a39-8d18-d4e3ed97d79d", "853ac905-14dc-4be5-9326-855413636a15", "67f83953-45b6-4f81-a5de-601978ebc5e1", "19dbec12-8f81-4f5a-9fa4-1139e4ab4d65", "50ca2e4e-e638-4162-a35d-ec60549ff89a", "a9e128a7-4301-4cd7-b6e1-ffdc279cf6a1" ], + "x-ms-original-request-ids": [ "f60cf5a9-49f9-408d-a304-f817fe358b72", "86537471-62fb-4b6e-a2e0-08755d897ab6", "9569af36-4c90-486c-aa1a-b8a8d1897157", "0cf5d8ea-1986-482e-87e7-fb31573ae81a", "9ef5558d-3ebe-4ae1-9b7f-fb677d9e5864", "0fee0218-44c7-4a9d-9038-c26bccdd9d89", "7b00c425-d722-4250-9090-62da9fdb1829", "e894c7e6-a79d-4a76-8626-83ee1a868787", "46b07728-18b4-474a-953c-d56a85b8db0a", "d33656a0-7754-4e56-acc1-5f2398d2bae4" ], "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], - "x-ms-request-id": [ "dbc6ecf4-f52f-478f-a08b-6e843efbf0d3" ], - "x-ms-correlation-request-id": [ "dbc6ecf4-f52f-478f-a08b-6e843efbf0d3" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045743Z:dbc6ecf4-f52f-478f-a08b-6e843efbf0d3" ], + "x-ms-request-id": [ "76d168db-30a7-49d1-a90b-4d5b3ce61b30" ], + "x-ms-correlation-request-id": [ "76d168db-30a7-49d1-a90b-4d5b3ce61b30" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213233Z:76d168db-30a7-49d1-a90b-4d5b3ce61b30" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: CFA5A6F9CC5B43048F12DBAB0BE76B22 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:42Z" ], - "Date": [ "Fri, 22 Mar 2024 04:57:43 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 6E26ADC44CC94125A20A379BA5B6AD38 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:32Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:33 GMT" ] }, "ContentHeaders": { - "Content-Length": [ "12024" ], + "Content-Length": [ "9068" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpGalleryImage02292\",\"name\":\"testMkpGalleryImage02292\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-29T21:50:44.1535201Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-29T21:57:31.4972849Z\"},\"properties\":{\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"a730d4b6-498e-474d-9ebb-b35ed16d2421*CE6160A0A59B54F35D86CACD4BA63993CF092E023ABC5F2E3B860B0C06381103\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6912},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpGalleryImage02292invalid\",\"name\":\"testMkpGalleryImage02292invalid\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-29T21:59:36.9097658Z\",\"lastModifiedBy\":\"1412d89f-b8a8-4111-b4fd-e82905cbd85d\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-29T21:59:38.3373099Z\"},\"properties\":{\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"invalid\"},\"osType\":\"Windows\",\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"GenerateTokenFromEdgeMarketplaceServiceFailed\",\"errorMessage\":\"Failed to generate SAS token for the URN: microsoftwindowsserver:windowsserver. Status code: NotFound, Error details: {\\\"error\\\":{\\\"code\\\":\\\"NotFound\\\",\\\"message\\\":\\\"Resource not found.\\\",\\\"details\\\":[{\\\"code\\\":\\\"ResourceNotFound\\\",\\\"message\\\":\\\"Requested resource not found.\\\"}]}}\",\"provisioningStatus\":{\"status\":\"Failed\",\"operationId\":\"providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/56da8d67-2208-4e44-b7bf-7c9fc9414f1d*7F4D7D6F6330EA6D6BE5F3F6B445E01268B95CF8DC9E53F15C5D8034800468F7?api-version=2023-09-01-preview\"}}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-21T22:22:23.9144905Z\",\"lastModifiedBy\":\"havedati@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-03-22T04:56:34.3365138Z\"},\"properties\":{\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}},\"name\":\"20348.1850.230906\"},\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"411657cd-a265-466c-baa5-f879ee4c3a81*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6292},\"progressPercentage\":100},\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"osType\":\"Windows\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplacegalleryimages/winserver2022\",\"name\":\"winserver2022\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-02T22:04:12.7001222Z\",\"lastModifiedBy\":\"1412d89f-b8a8-4111-b4fd-e82905cbd85d\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-02T22:11:59.0462183Z\"},\"properties\":{\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"PutMarketplaceGalleryImageToBridgeFailed\",\"errorMessage\":\"Could not send the marketplace gallery image data to K8SBridge.\",\"provisioningStatus\":{\"status\":\"Failed\",\"operationId\":\"providers/Microsoft.AzureStackHCI/locations/EASTUS2EUAP/operationStatuses/ad195f85-44fe-4d2a-a391-b1e735f71cf8*3684149D0FFA19537E3151D1DA4213400171466D0CE3ED501C99E8B604BB77D2?api-version=2024-01-01\"}},\"osType\":\"Windows\",\"identifier\":{\"offer\":\"windowsserver\",\"publisher\":\"microsoftwindowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/winServer2022Az-01\",\"name\":\"winServer2022Az-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T22:18:22.3725794Z\",\"lastModifiedBy\":\"pathuang@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-01-29T22:18:22.3725794Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"},\"provisioningState\":\"Failed\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/servercore\",\"name\":\"servercore\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T22:23:01.1910797Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T22:39:09.7361402Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"6724cad8-d769-409d-8ab8-2add47bbaacd*4D98CA960A8F21AFD9ACA583A57ACCEBD379485220FE775E750CD35B0C162A6F\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6396},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/win11msen\",\"name\":\"win11msen\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"mkadam@ntdev.microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-08T04:27:01.4771006Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-08T04:42:04.3566196Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"windows11preview\",\"sku\":\"win11-22h2-avd-m365\"},\"version\":{\"name\":\"22621.382.220810\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"b781da7d-c401-46d4-9e24-7d3423cc7639*EF275909891F7CF73156C565854307FFEF183DA49FF186B2455AC4FAB0639C90\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":17451},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/img-pathuang-0305-01\",\"name\":\"img-pathuang-0305-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-12T22:47:00.2262885Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-12T23:03:16.8043662Z\"},\"properties\":{\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"217e5930-3989-4886-a9e8-236141450166*6430FBFD72F90B4CB2EE7CAB32102207571B75803163D40BD1793DD6EE1CC184\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":18188},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/img-pathuang-0319-01\",\"name\":\"img-pathuang-0319-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-19T18:14:07.2005875Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T18:30:08.0047385Z\"},\"properties\":{\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"1cfbf6ad-118e-4290-b4eb-e5584e7fd590*0B69F9B59D71CAAC06B14F4F1CE0EB50CA617D8E5B3DB93B9861A1929473F227\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":18024},\"progressPercentage\":100}}}]}", + "Content": "{\"value\":[{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/testMkpImage02262\",\"name\":\"testMkpImage02262\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:25:36.5593045Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T21:32:20.2881001Z\"},\"properties\":{\"identifier\":{\"publisher\":\"MicrosoftWindowsServer\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.1850.230906\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"osType\":\"Windows\",\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"6820c1da-f2d5-4cb7-9162-65251004c723*1F3D340339607B6264A7EEF56D15C0C35847A9FE90708A49A278E7B8D41DF5CF\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6232},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplacegalleryimages/winserver2022\",\"name\":\"winserver2022\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"blairurish@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-02-02T22:04:12.7001222Z\",\"lastModifiedBy\":\"1412d89f-b8a8-4111-b4fd-e82905cbd85d\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-02-02T22:11:59.0462183Z\"},\"properties\":{\"provisioningState\":\"Failed\",\"status\":{\"errorCode\":\"PutMarketplaceGalleryImageToBridgeFailed\",\"errorMessage\":\"Could not send the marketplace gallery image data to K8SBridge.\",\"provisioningStatus\":{\"status\":\"Failed\",\"operationId\":\"providers/Microsoft.AzureStackHCI/locations/EASTUS2EUAP/operationStatuses/ad195f85-44fe-4d2a-a391-b1e735f71cf8*3684149D0FFA19537E3151D1DA4213400171466D0CE3ED501C99E8B604BB77D2?api-version=2024-01-01\"}},\"osType\":\"Windows\",\"identifier\":{\"offer\":\"windowsserver\",\"publisher\":\"microsoftwindowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/winServer2022Az-01\",\"name\":\"winServer2022Az-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T22:18:22.3725794Z\",\"lastModifiedBy\":\"pathuang@microsoft.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2024-01-29T22:18:22.3725794Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\"},\"provisioningState\":\"Failed\"}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/servercore\",\"name\":\"servercore\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-01-29T22:23:01.1910797Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-01-29T22:39:09.7361402Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsserver\",\"offer\":\"windowsserver\",\"sku\":\"2022-datacenter-azure-edition-core\"},\"version\":{\"name\":\"20348.2227.240104\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"6724cad8-d769-409d-8ab8-2add47bbaacd*4D98CA960A8F21AFD9ACA583A57ACCEBD379485220FE775E750CD35B0C162A6F\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":6396},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/win11msen\",\"name\":\"win11msen\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"type\":\"CustomLocation\",\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourcegroups/mkclus104-rg/providers/microsoft.extendedlocation/customlocations/myresourcebridge-cl\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"mkadam@ntdev.microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-08T04:27:01.4771006Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-08T04:42:04.3566196Z\"},\"properties\":{\"osType\":\"Windows\",\"hyperVGeneration\":\"V2\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"windows11preview\",\"sku\":\"win11-22h2-avd-m365\"},\"version\":{\"name\":\"22621.382.220810\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130050}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"b781da7d-c401-46d4-9e24-7d3423cc7639*EF275909891F7CF73156C565854307FFEF183DA49FF186B2455AC4FAB0639C90\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":17451},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/img-pathuang-0305-01\",\"name\":\"img-pathuang-0305-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-12T22:47:00.2262885Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-12T23:03:16.8043662Z\"},\"properties\":{\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"217e5930-3989-4886-a9e8-236141450166*6430FBFD72F90B4CB2EE7CAB32102207571B75803163D40BD1793DD6EE1CC184\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":18188},\"progressPercentage\":100}}},{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/img-pathuang-0319-01\",\"name\":\"img-pathuang-0319-01\",\"type\":\"microsoft.azurestackhci/marketplacegalleryimages\",\"location\":\"eastus2euap\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"pathuang@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-19T18:14:07.2005875Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-19T18:30:08.0047385Z\"},\"properties\":{\"osType\":\"Windows\",\"identifier\":{\"publisher\":\"microsoftwindowsdesktop\",\"offer\":\"office-365\",\"sku\":\"win11-21h2-avd-m365\"},\"version\":{\"name\":\"22000.2713.240109\",\"properties\":{\"storageProfile\":{\"osDiskImage\":{\"sizeInMB\":130048}}}},\"provisioningState\":\"Succeeded\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"1cfbf6ad-118e-4290-b4eb-e5584e7fd590*0B69F9B59D71CAAC06B14F4F1CE0EB50CA617D8E5B3DB93B9861A1929473F227\",\"status\":\"Succeeded\"},\"downloadStatus\":{\"downloadSizeInMB\":18024},\"progressPercentage\":100}}}]}", "isContentBase64": false } }, @@ -436,8 +3340,8 @@ "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "11" ], - "x-ms-client-request-id": [ "b1b65646-990c-4731-8e39-4557b97de2a8" ], + "x-ms-unique-id": [ "77" ], + "x-ms-client-request-id": [ "2211943b-4cfe-4162-bde9-8fafb799262d" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -452,24 +3356,24 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"d6007886-0000-0100-0000-65fd0f6f0000\"" ], - "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "ETag": [ "\"1001890a-0000-0100-0000-65fdf73a0000\"" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11999" ], "x-ms-providerhub-traffic": [ "True" ], - "x-ms-request-id": [ "cebc8862-0636-415b-9af3-7b6205496412" ], - "x-ms-correlation-request-id": [ "f8dd64ae-5f1c-4c78-a437-cc8508ce7612" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045744Z:f8dd64ae-5f1c-4c78-a437-cc8508ce7612" ], + "x-ms-request-id": [ "03c404f9-83f4-45df-8ca2-21ecef3a1bf1" ], + "x-ms-correlation-request-id": [ "f160518d-f24d-43ff-9b6d-d963241df94b" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213233Z:f160518d-f24d-43ff-9b6d-d963241df94b" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 3D38AAEA08DF406596756B138F11BC52 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:44Z" ], - "Date": [ "Fri, 22 Mar 2024 04:57:43 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 7F41FE39C9264EAF98FEFD0B6DC8958D Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:33Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:33 GMT" ] }, "ContentHeaders": { "Content-Length": [ "1117" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T04:55:00.6523822Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T04:56:15.3905212Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"4d346c5a-907a-4b1a-816c-183d0e5c9d89*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}}", + "Content": "{\"id\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"name\":\"testImage1127-2\",\"type\":\"microsoft.azurestackhci/galleryimages\",\"location\":\"eastus\",\"extendedLocation\":{\"name\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.ExtendedLocation/customLocations/myResourceBridge-cl\",\"type\":\"CustomLocation\"},\"tags\":{\"RG_Owner\":\"pathuang\"},\"systemData\":{\"createdBy\":\"havedati@microsoft.com\",\"createdByType\":\"User\",\"createdAt\":\"2024-03-22T21:24:02.5705854Z\",\"lastModifiedBy\":\"319f651f-7ddb-4fc6-9857-7aef9250bd05\",\"lastModifiedByType\":\"Application\",\"lastModifiedAt\":\"2024-03-22T21:25:14.3109348Z\"},\"properties\":{\"provisioningState\":\"Succeeded\",\"osType\":\"Linux\",\"status\":{\"errorCode\":\"\",\"errorMessage\":\"\",\"provisioningStatus\":{\"operationId\":\"37fd0b6b-e838-460b-9501-7726b2e61eed*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"status\":\"Succeeded\"},\"downloadStatus\":{},\"progressPercentage\":100},\"version\":{\"properties\":{\"storageProfile\":{\"osDiskImage\":{}}}}}}", "isContentBase64": false } }, @@ -480,8 +3384,8 @@ "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "13" ], - "x-ms-client-request-id": [ "d59bd9d8-b56d-44fe-8530-54491a7861aa" ], + "x-ms-unique-id": [ "79" ], + "x-ms-client-request-id": [ "43c6ea50-aabd-4620-8b54-02e51aa883ed" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Remove-AzStackHCIVMGalleryImage_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -496,21 +3400,21 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"d6002094-0000-0100-0000-65fd0fc90000\"" ], - "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653401412\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=4Va-TF1tG6HvdanrUZu6oRLd6226ZVb-zBUc4X8HWKddRku4HGmvHOCeaAsZaZsERqYy7EfJ7KC2Y3zQo9Bs2-biC305mqN8Rgi2jGi-LwNcfKpN00KqU6Lous48eOmfmAElxiuespZLd38rqvJwl_HluS93AphE02DOaTYCWBYOMjbvSssCtu2XPkwdm_MsuV3lJhhf_8QsK6LVT2msK1ACTRZDc3NwosU11VI_T2WDXsgUydjRMquQNjSxwg3jdk65-JmLUg2S5yf-iykT1NFF6Q1QU-VSWn4QUIH1p5EcvlYq8qVGNsBa7PK77EpUZhJ-EbaycNY8oWAWL2U_LA\u0026h=J7hmc6Wtrf-OoD7dWx7G8z0TlyKcUP7pAb5e-3mkD-0" ], + "ETag": [ "\"1001ca68-0000-0100-0000-65fdf8f20000\"" ], + "Location": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467399550697640\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=fSvICdzigbBMEoQHyTk4ZyXajf5-ZZ_Cy7JThJDh4a8aZwow7qgB6aI8u_F-N_9WF6yi3bMVNtBwtcstANl6q3JHW4uzDz4o_LBzOnKX_15t7SiW4TBBtR47xgmvwaLcCuOfoUPgMh4kkk0EVCmoISoqYmb2jZgDhPejZgfSh9F7I-GU5way_KKmmsAbXq1WFNCArJA45I5_rigtxpFhuaMdqd4zWgUJyINtTQLwNYbN0Wiry7CRUnIuohhic3FBFnUWp6VZv4WqoQb5yTDCJADA6JC4GymML7MiAlbkOlnurGRVG9Le4YfPEZHFxYKrU3Aug_Wo4ptN-D_nPa7jNA\u0026h=XjimAJRotOHDz89Rg9ql0V5yVgStfI4W6YJyk3jzdFI" ], "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], "x-ms-providerhub-traffic": [ "True" ], - "mise-correlation-id": [ "8e9acad2-c4e5-4c3c-a316-9ef632a5a0fd" ], + "mise-correlation-id": [ "a29c7c5c-5b10-4f1c-bba2-547b9dd1b011" ], "x-ms-request-id": [ "00000000-0000-0000-0000-000000000000" ], - "x-azure-ref": [ "20240322T045744Z-bax5hsq2g97q95y9a3grfb7ya000000001dg00000000gsu8" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc" ], - "x-ms-correlation-request-id": [ "345776ea-18c0-4760-9799-051bf47b55da" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045745Z:345776ea-18c0-4760-9799-051bf47b55da" ], + "X-Azure-Ref": [ "08vj9ZQAAAAArp1Ne47z7QIeqr4BggNyeQk4xQUEyMDUxMDE4MDQ3ADk2YmJmZjhhLTk5NGItNDAzOS04MWJhLWM5NTBkZjIwMjdjMA==" ], + "Azure-AsyncOperation": [ "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467399550541381\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N0hJ6K_Q6szvn28_yO1lFifBen37Ac9UnJAI8V9fBavxe0_Wq7EShfulNP_rQfM1KwmX_OwyYekLmExyT6OvHqS1Bxe26GiOYXNSVg_Bdt6gAzyxw8NqE7zkKh3ijBRltONvqjU3LSMCaASNea_MzBfI-cqa7EkoAT4ax9B-6ICG5lQLWkRNk4uRCElKN-YtVzs122vp3jNi5SI6gWbHKFHJ-d-seXsZC8-mrnNL10-c9EUeoQrQPqpOx5ES_XrlfrtYCxOMBpHO96nE3ApKxczTFxcMDL7hHLroy5QneWKjyVhomBe_dBmMsMEk2SVh1I2FmpoXd6J_fnRi8Q5hfg\u0026h=wKLkXNss6voTwywgd0BqzUvS0slGhcWdvNq70Z84jx8" ], + "x-ms-correlation-request-id": [ "4b7eefd7-f63b-4072-bc25-deaa9237aff9" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213235Z:4b7eefd7-f63b-4072-bc25-deaa9237aff9" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], - "X-MSEdge-Ref": [ "Ref A: 49BC7915206643578748C678D196BD82 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:57:44Z" ], - "Date": [ "Fri, 22 Mar 2024 04:57:45 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 0A31711E54B741B3BC287FE6CDDEB728 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:32:34Z" ], + "Date": [ "Fri, 22 Mar 2024 21:32:34 GMT" ] }, "ContentHeaders": { "Content-Length": [ "4" ], @@ -521,16 +3425,16 @@ "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc+2": { + "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467399550541381\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N0hJ6K_Q6szvn28_yO1lFifBen37Ac9UnJAI8V9fBavxe0_Wq7EShfulNP_rQfM1KwmX_OwyYekLmExyT6OvHqS1Bxe26GiOYXNSVg_Bdt6gAzyxw8NqE7zkKh3ijBRltONvqjU3LSMCaASNea_MzBfI-cqa7EkoAT4ax9B-6ICG5lQLWkRNk4uRCElKN-YtVzs122vp3jNi5SI6gWbHKFHJ-d-seXsZC8-mrnNL10-c9EUeoQrQPqpOx5ES_XrlfrtYCxOMBpHO96nE3ApKxczTFxcMDL7hHLroy5QneWKjyVhomBe_dBmMsMEk2SVh1I2FmpoXd6J_fnRi8Q5hfg\u0026h=wKLkXNss6voTwywgd0BqzUvS0slGhcWdvNq70Z84jx8+2": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467399550541381\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N0hJ6K_Q6szvn28_yO1lFifBen37Ac9UnJAI8V9fBavxe0_Wq7EShfulNP_rQfM1KwmX_OwyYekLmExyT6OvHqS1Bxe26GiOYXNSVg_Bdt6gAzyxw8NqE7zkKh3ijBRltONvqjU3LSMCaASNea_MzBfI-cqa7EkoAT4ax9B-6ICG5lQLWkRNk4uRCElKN-YtVzs122vp3jNi5SI6gWbHKFHJ-d-seXsZC8-mrnNL10-c9EUeoQrQPqpOx5ES_XrlfrtYCxOMBpHO96nE3ApKxczTFxcMDL7hHLroy5QneWKjyVhomBe_dBmMsMEk2SVh1I2FmpoXd6J_fnRi8Q5hfg\u0026h=wKLkXNss6voTwywgd0BqzUvS0slGhcWdvNq70Z84jx8", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "14" ], - "x-ms-client-request-id": [ "d59bd9d8-b56d-44fe-8530-54491a7861aa" ], + "x-ms-unique-id": [ "80" ], + "x-ms-client-request-id": [ "43c6ea50-aabd-4620-8b54-02e51aa883ed" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Remove-AzStackHCIVMGalleryImage_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -544,36 +3448,36 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"6500e78c-0000-0100-0000-65fd0fcf0000\"" ], + "ETag": [ "\"9c0036e9-0000-0100-0000-65fdf8f90000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "a2d8bb71-e790-4827-9bc8-798c966ab2e2" ], - "x-ms-correlation-request-id": [ "1632091b-6290-4cd6-93f1-d6fd4d264977" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045815Z:1632091b-6290-4cd6-93f1-d6fd4d264977" ], + "x-ms-request-id": [ "07a7616c-7653-45eb-ae24-3364a1d93159" ], + "x-ms-correlation-request-id": [ "c5fde2da-a9c1-4ca9-95d6-342e7c8002e5" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213305Z:c5fde2da-a9c1-4ca9-95d6-342e7c8002e5" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: C718030AFA994B5497F20110C175273F Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:15Z" ], - "Date": [ "Fri, 22 Mar 2024 04:58:15 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 78B5CA145F484222A6661A5F2DFFEB71 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:33:05Z" ], + "Date": [ "Fri, 22 Mar 2024 21:33:05 GMT" ] }, "ContentHeaders": { "Content-Length": [ "573" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:57:44.8444567Z\",\"endTime\":\"2024-03-22T04:57:51.8103383Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T21:32:34.6415038Z\",\"endTime\":\"2024-03-22T21:32:41.1781282Z\",\"properties\":null}", "isContentBase64": false } }, - "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc+3": { + "AzStackHCIVMImageNew+[NoContext]+Delete+$GET+https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467399550541381\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N0hJ6K_Q6szvn28_yO1lFifBen37Ac9UnJAI8V9fBavxe0_Wq7EShfulNP_rQfM1KwmX_OwyYekLmExyT6OvHqS1Bxe26GiOYXNSVg_Bdt6gAzyxw8NqE7zkKh3ijBRltONvqjU3LSMCaASNea_MzBfI-cqa7EkoAT4ax9B-6ICG5lQLWkRNk4uRCElKN-YtVzs122vp3jNi5SI6gWbHKFHJ-d-seXsZC8-mrnNL10-c9EUeoQrQPqpOx5ES_XrlfrtYCxOMBpHO96nE3ApKxczTFxcMDL7hHLroy5QneWKjyVhomBe_dBmMsMEk2SVh1I2FmpoXd6J_fnRi8Q5hfg\u0026h=wKLkXNss6voTwywgd0BqzUvS0slGhcWdvNq70Z84jx8+3": { "Request": { "Method": "GET", - "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638466802653244702\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=F-ZAv0-F49kl8UFf3BT5b0_DRJ3O7lUPNSV6-Lvi37i7ogrhO6-w0dgDpfgqUobSWcQawvFuMb6jt7HJNX_i0eywq_NLBuoNaBRJl3co6N97Udqmv2CK7w8j8TNyA5regfux-wfx9_v77RMD_1ECtuuALAIGiiKhtzYL80fRCmHbuN-faYqaZRbuG0RNz7eWkeUrs6I7Ab1Lcx68u9zKWGtCuMbKLvzlhP4XgGU1pvfZ-us-frK8yeZir5Zz-UwLKdzlRjYJQ0kXFWdMAij5NIxmYqQtf9vdXTZnuFi5vFrn41ER7k2T5Aytk1p0UmJVh4QgerFoMgKNpXpaIIq9Hg\u0026h=wpcLViQFKkHbzJHxPIG9BLJ_wOKM8f_ezgTvPAhqfqc", + "RequestUri": "https://management.azure.com/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41?api-version=2024-01-01\u0026t=638467399550541381\u0026c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU\u0026s=N0hJ6K_Q6szvn28_yO1lFifBen37Ac9UnJAI8V9fBavxe0_Wq7EShfulNP_rQfM1KwmX_OwyYekLmExyT6OvHqS1Bxe26GiOYXNSVg_Bdt6gAzyxw8NqE7zkKh3ijBRltONvqjU3LSMCaASNea_MzBfI-cqa7EkoAT4ax9B-6ICG5lQLWkRNk4uRCElKN-YtVzs122vp3jNi5SI6gWbHKFHJ-d-seXsZC8-mrnNL10-c9EUeoQrQPqpOx5ES_XrlfrtYCxOMBpHO96nE3ApKxczTFxcMDL7hHLroy5QneWKjyVhomBe_dBmMsMEk2SVh1I2FmpoXd6J_fnRi8Q5hfg\u0026h=wKLkXNss6voTwywgd0BqzUvS0slGhcWdvNq70Z84jx8", "Content": null, "isContentBase64": false, "Headers": { "Authorization": [ "[Filtered]" ], - "x-ms-unique-id": [ "15" ], - "x-ms-client-request-id": [ "d59bd9d8-b56d-44fe-8530-54491a7861aa" ], + "x-ms-unique-id": [ "81" ], + "x-ms-client-request-id": [ "43c6ea50-aabd-4620-8b54-02e51aa883ed" ], "CommandName": [ "Az.StackHCIVM.internal\\Remove-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Remove-AzStackHCIVMGalleryImage_Delete" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -587,23 +3491,23 @@ "Headers": { "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], - "ETag": [ "\"6500e78c-0000-0100-0000-65fd0fcf0000\"" ], + "ETag": [ "\"9c0036e9-0000-0100-0000-65fdf8f90000\"" ], "x-ms-ratelimit-remaining-tenant-reads": [ "11999" ], - "x-ms-request-id": [ "f9c5d151-3ebb-4bcc-bb72-9362490ec4c6" ], - "x-ms-correlation-request-id": [ "2e46ecfd-561d-481f-82b1-e6be3a555a3d" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045816Z:2e46ecfd-561d-481f-82b1-e6be3a555a3d" ], + "x-ms-request-id": [ "f8d60970-e586-474e-8925-96f7f2f234b0" ], + "x-ms-correlation-request-id": [ "1f1ac7e7-3b4c-4929-b411-4e821db62ca5" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213305Z:1f1ac7e7-3b4c-4929-b411-4e821db62ca5" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: F77D621662E94F989CF26D54E169FA9D Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:16Z" ], - "Date": [ "Fri, 22 Mar 2024 04:58:15 GMT" ] + "X-MSEdge-Ref": [ "Ref A: C5349703D72548BAAAE25978F3B463A0 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:33:05Z" ], + "Date": [ "Fri, 22 Mar 2024 21:33:05 GMT" ] }, "ContentHeaders": { "Content-Length": [ "573" ], "Content-Type": [ "application/json; charset=utf-8" ], "Expires": [ "-1" ] }, - "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"b7abbcbb-9354-4778-aa88-d2861afb8bdf*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T04:57:44.8444567Z\",\"endTime\":\"2024-03-22T04:57:51.8103383Z\",\"properties\":null}", + "Content": "{\"id\":\"/providers/Microsoft.AzureStackHCI/locations/EASTUS/operationStatuses/08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"name\":\"08187ead-666e-4206-9563-77b886ae086e*ACB44ED9495F408052837EA6E4DA4DAB195A8F2D229664B13919AD83A9B15D41\",\"resourceId\":\"/subscriptions/37908b1f-2848-4c85-b8bf-a2cab2c3b0ba/resourceGroups/mkclus104-rg/providers/Microsoft.AzureStackHCI/galleryImages/testImage1127-2\",\"status\":\"Succeeded\",\"startTime\":\"2024-03-22T21:32:34.6415038Z\",\"endTime\":\"2024-03-22T21:32:41.1781282Z\",\"properties\":null}", "isContentBase64": false } }, @@ -614,8 +3518,8 @@ "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "16" ], - "x-ms-client-request-id": [ "89b77cbb-5a30-494c-83f7-c802bd266b44" ], + "x-ms-unique-id": [ "82" ], + "x-ms-client-request-id": [ "ad600167-3179-49f2-9a8e-b7b758f42e73" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -631,14 +3535,14 @@ "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "b631ec54-4c57-4167-8656-dffeefe95932" ], - "x-ms-correlation-request-id": [ "b631ec54-4c57-4167-8656-dffeefe95932" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045816Z:b631ec54-4c57-4167-8656-dffeefe95932" ], + "x-ms-request-id": [ "cef1b6d3-7e90-4cda-846c-79d248448f92" ], + "x-ms-correlation-request-id": [ "cef1b6d3-7e90-4cda-846c-79d248448f92" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213305Z:cef1b6d3-7e90-4cda-846c-79d248448f92" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: 54E7323169A541AD8CF18ABDC0E09F82 Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:16Z" ], - "Date": [ "Fri, 22 Mar 2024 04:58:15 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 253C0B5446D64866B94F09DFCAD145CE Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:33:05Z" ], + "Date": [ "Fri, 22 Mar 2024 21:33:05 GMT" ] }, "ContentHeaders": { "Content-Length": [ "237" ], @@ -656,8 +3560,8 @@ "Content": null, "isContentBase64": false, "Headers": { - "x-ms-unique-id": [ "17" ], - "x-ms-client-request-id": [ "614ced0e-5c36-40f1-86cf-6f997b502920" ], + "x-ms-unique-id": [ "83" ], + "x-ms-client-request-id": [ "e58ff9a2-867a-4fa4-8843-2914d7ef67a8" ], "CommandName": [ "Az.StackHCIVM.internal\\Get-AzStackHCIVMMarketplaceGalleryImage" ], "FullCommandName": [ "Get-AzStackHCIVMMarketplaceGalleryImage_Get" ], "ParameterSetName": [ "__AllParameterSets" ], @@ -673,14 +3577,14 @@ "Cache-Control": [ "no-cache" ], "Pragma": [ "no-cache" ], "x-ms-failure-cause": [ "gateway" ], - "x-ms-request-id": [ "3f328a55-de58-4c7c-a62b-c39089fe46dd" ], - "x-ms-correlation-request-id": [ "3f328a55-de58-4c7c-a62b-c39089fe46dd" ], - "x-ms-routing-request-id": [ "WESTUS2:20240322T045816Z:3f328a55-de58-4c7c-a62b-c39089fe46dd" ], + "x-ms-request-id": [ "acd399d5-eab5-406b-abe9-da9a6714a8bc" ], + "x-ms-correlation-request-id": [ "acd399d5-eab5-406b-abe9-da9a6714a8bc" ], + "x-ms-routing-request-id": [ "WESTUS2:20240322T213306Z:acd399d5-eab5-406b-abe9-da9a6714a8bc" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "X-Content-Type-Options": [ "nosniff" ], "X-Cache": [ "CONFIG_NOCACHE" ], - "X-MSEdge-Ref": [ "Ref A: DD70A43C103842DDB5396DCE9A6686EA Ref B: CO6AA3150217031 Ref C: 2024-03-22T04:58:16Z" ], - "Date": [ "Fri, 22 Mar 2024 04:58:16 GMT" ] + "X-MSEdge-Ref": [ "Ref A: 28F393A10FDF4F23926D420050D84761 Ref B: CO6AA3150219039 Ref C: 2024-03-22T21:33:05Z" ], + "Date": [ "Fri, 22 Mar 2024 21:33:05 GMT" ] }, "ContentHeaders": { "Content-Length": [ "248" ], From adb79df96060cb8c15f0366c00354ade3b017b4d Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Sun, 24 Mar 2024 02:01:44 -0700 Subject: [PATCH 20/21] merge --- .../New-AzStackHCIVMLogicalNetwork_New.ps1 | 12 ++++- .../New-AzStackHCIVMNetworkInterface_New.ps1 | 14 +++++- ...Restart-AzStackHCIVMVirtualMachine_New.ps1 | 12 ++++- .../Start-AzStackHCIVMVirtualMachine_New.ps1 | 13 +++++- .../Stop-AzStackHCIVMVirtualMachine_New.ps1 | 13 +++++- .../custom/Update-AzStackHCIVMImage.ps1 | 46 +++++++++++++++++-- ...zStackHCIVMLogicalNetwork_ByResourceId.ps1 | 13 +++++- .../Update-AzStackHCIVMVirtualMachine_New.ps1 | 12 ++++- 8 files changed, 121 insertions(+), 14 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMLogicalNetwork_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMLogicalNetwork_New.ps1 index a3031eb554ac..8cb8040081de 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMLogicalNetwork_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMLogicalNetwork_New.ps1 @@ -340,7 +340,17 @@ function New-AzStackHCIVMLogicalNetwork { $PSBoundParameters.Add("Subnet", $SubnetNew) } + + try{ + Az.StackHCIVM.internal\New-AzStackHCIVMLogicalNetwork -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } - return Az.StackHCIVM.internal\New-AzStackHCIVMLogicalNetwork @PSBoundParameters } \ No newline at end of file diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMNetworkInterface_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMNetworkInterface_New.ps1 index e20c75352e45..6d750b26638d 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMNetworkInterface_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMNetworkInterface_New.ps1 @@ -273,6 +273,16 @@ param( if ($Tag){ $PSBoundParameters.Add("Tag", $Tag) } - return Az.StackHCIVM.internal\New-AzStackHCIVMNetworkInterface @PSBoundParameters - + + try{ + Az.StackHCIVM.internal\New-AzStackHCIVMNetworkInterface -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } + } diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Restart-AzStackHCIVMVirtualMachine_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Restart-AzStackHCIVMVirtualMachine_New.ps1 index 5f290f82eb69..52cb9c60960e 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Restart-AzStackHCIVMVirtualMachine_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Restart-AzStackHCIVMVirtualMachine_New.ps1 @@ -131,7 +131,17 @@ function Restart-AzStackHCIVMVirtualMachine { $null = $PSBoundParameters.Remove("ResourceGroupName") $null = $PSBoundParameters.Remove("ResourceId") $null = $PSBoundParameters.Remove("Name") - return Az.StackHCIVM.internal\Restart-AzStackHCIVMVirtualMachine @PSBoundParameters + try{ + Az.StackHCIVM.internal\Restart-AzStackHCIVMVirtualMachine -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } + } else { Write-Error "One or more input parameters are invalid. Resource ID is: $ResourceId, name is $name, resource group name is $resourcegroupname, subscription id is $subscriptionid" } diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Start-AzStackHCIVMVirtualMachine_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Start-AzStackHCIVMVirtualMachine_New.ps1 index f8113b6d3553..bfed44500ca2 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Start-AzStackHCIVMVirtualMachine_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Start-AzStackHCIVMVirtualMachine_New.ps1 @@ -132,7 +132,18 @@ function Start-AzStackHCIVMVirtualMachine { $null = $PSBoundParameters.Remove("ResourceGroupName") $null = $PSBoundParameters.Remove("ResourceId") $null = $PSBoundParameters.Remove("Name") - return Az.StackHCIVM.internal\Start-AzStackHCIVMVirtualMachine @PSBoundParameters + + try{ + Az.StackHCIVM.internal\Start-AzStackHCIVMVirtualMachine -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } + } else { Write-Error "One or more input parameters are invalid. Resource ID is: $ResourceId, name is $name, resource group name is $resourcegroupname, subscription id is $subscriptionid" } diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Stop-AzStackHCIVMVirtualMachine_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Stop-AzStackHCIVMVirtualMachine_New.ps1 index bf4c12517769..93984b4ecc18 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Stop-AzStackHCIVMVirtualMachine_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Stop-AzStackHCIVMVirtualMachine_New.ps1 @@ -134,7 +134,18 @@ function Stop-AzStackHCIVMVirtualMachine { $null = $PSBoundParameters.Remove("ResourceGroupName") $null = $PSBoundParameters.Remove("ResourceId") $null = $PSBoundParameters.Remove("Name") - return Az.StackHCIVM.internal\Stop-AzStackHCIVMVirtualMachine @PSBoundParameters + + try{ + Az.StackHCIVM.internal\Stop-AzStackHCIVMVirtualMachine -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } + } else { Write-Error "One or more input parameters are invalid. Resource ID is: $ResourceId, name is $name, resource group name is $resourcegroupname, subscription id is $subscriptionid" } diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMImage.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMImage.ps1 index d7c46b478b67..827761b9c725 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMImage.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMImage.ps1 @@ -123,11 +123,30 @@ function Update-AzStackHCIVMImage{ if ($isGalleryImage){ - return Az.StackHCIVM.internal\Update-AzStackHCIVMGalleryImage @PSBoundParameters + try{ + Az.StackHCIVM.internal\Update-AzStackHCIVMGalleryImage -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } if ($isMarketplaceGalleryImage){ - return Az.StackHCIVM.internal\Update-AzStackHCIVMMarketplaceGalleryImage @PSBoundParameters + try{ + Az.StackHCIVM.internal\Update-AzStackHCIVMMarketplaceGalleryImage -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } + } } elseif ($PSCmdlet.ParameterSetName -eq "ByResourceId"){ @@ -143,7 +162,16 @@ function Update-AzStackHCIVMImage{ $null = $PSBoundParameters.Remove("SubscriptionId") $PSBoundParameters.Add("SubscriptionId", $subscriptionId) - return Az.StackHCIVM.internal\Update-AzStackHCIVMGalleryImage @PSBoundParameters + try{ + Az.StackHCIVM.internal\Update-AzStackHCIVMGalleryImage -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } elseif ($ResourceId -match $marketplaceGalImageRegex){ $subscriptionId = $($Matches['subscriptionId']) @@ -154,8 +182,16 @@ function Update-AzStackHCIVMImage{ $PSBoundParameters.Add("ResourceGroupName", $resourceGroupName) $null = $PSBoundParameters.Remove("SubscriptionId") $PSBoundParameters.Add("SubscriptionId", $subscriptionId) - - return Az.StackHCIVM.internal\Update-AzStackHCIVMMarketplaceGalleryImage @PSBoundParameters + try{ + Az.StackHCIVM.internal\Update-AzStackHCIVMMarketplaceGalleryImage -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } else { Write-Error "Resource ID is invalid: $ResourceId" diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMLogicalNetwork_ByResourceId.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMLogicalNetwork_ByResourceId.ps1 index 0e33d69d5557..765cc9a7ef00 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMLogicalNetwork_ByResourceId.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMLogicalNetwork_ByResourceId.ps1 @@ -103,8 +103,17 @@ param( $PSBoundParameters.Add("ResourceGroupName", $resourceGroupName) $null = $PSBoundParameters.Remove("SubscriptionId") $PSBoundParameters.Add("SubscriptionId", $subscriptionId) - - return Az.StackHCIVM\Update-AzStackHCIVMLogicalNetwork @PSBoundParameters + + try{ + Az.StackHCIVM\Update-AzStackHCIVMLogicalNetwork -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } else { Write-Error "Resource ID is invalid: $ResourceId" diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMVirtualMachine_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMVirtualMachine_New.ps1 index bb9311100677..f18488562adb 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMVirtualMachine_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMVirtualMachine_New.ps1 @@ -201,7 +201,17 @@ function Update-AzStackHCIVMVirtualMachine { $null = $PSBoundParameters.Remove("ResourceGroupName") $null = $PSBoundParameters.Remove("ResourceId") $null = $PSBoundParameters.Remove("Name") - return Az.StackHCIVM.internal\Update-AzStackHCIVMVirtualMachine @PSBoundParameters + try{ + Az.StackHCIVM.internal\Update-AzStackHCIVMVirtualMachine -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } + } else { Write-Error "One or more input parameters are invalid. Resource ID is: $ResourceId, name is $name, resource group name is $resourcegroupname, subscription id is $subscriptionid" } From 1746ff3d26bcafceda9b45795b17aed7c70df664 Mon Sep 17 00:00:00 2001 From: Harika Vedati Date: Sun, 24 Mar 2024 10:43:30 -0700 Subject: [PATCH 21/21] report api error --- .../custom/New-AzStackHCIVMImage.ps1 | 26 ++++++++++++++++--- .../New-AzStackHCIVMStoragePath_New.ps1 | 11 +++++++- .../New-AzStackHCIVMVirtualHardDisk_New.ps1 | 11 +++++++- .../New-AzStackHCIVMVirtualMachine_New.ps1 | 14 ++++++++-- ...tackHCIVMNetworkInterface_ByResourceId.ps1 | 11 +++++++- ...e-AzStackHCIVMStoragePath_ByResourceId.ps1 | 11 +++++++- ...StackHCIVMVirtualHardDisk_ByResourceId.ps1 | 11 +++++++- 7 files changed, 84 insertions(+), 11 deletions(-) diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMImage.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMImage.ps1 index 592614d194ad..b73bdff2506c 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMImage.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMImage.ps1 @@ -340,7 +340,12 @@ function New-AzStackHCIVMImage{ } } catch { - Write-Error $_.Exception.Message -ErrorAction Stop + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } } @@ -397,7 +402,12 @@ function New-AzStackHCIVMImage{ } } catch { - Write-Error $_.Exception.Message -ErrorAction Stop + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } } @@ -405,8 +415,16 @@ function New-AzStackHCIVMImage{ if ($PSCmdlet.ParameterSetName -eq "GalleryImage") { - - Az.StackHCIVM.internal\New-AzStackHCIVMGalleryImage @PSBoundParameters + try{ + Az.StackHCIVM.internal\New-AzStackHCIVMGalleryImage -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMStoragePath_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMStoragePath_New.ps1 index be4820f2a216..2ffb4a366266 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMStoragePath_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMStoragePath_New.ps1 @@ -146,6 +146,15 @@ param( } - return Az.StackHCIVM.internal\New-AzStackHCIVMStoragePath @PSBoundParameters + try{ + Az.StackHCIVM.internal\New-AzStackHCIVMStoragePath -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualHardDisk_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualHardDisk_New.ps1 index aa6b6e70292f..51f7e43cfe57 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualHardDisk_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualHardDisk_New.ps1 @@ -241,7 +241,16 @@ param( $null = $PSBoundParameters.Remove("StoragePathResourceGroup") } - return Az.StackHCIVM.internal\New-AzStackHCIVMVirtualHardDisk @PSBoundParameters + try{ + Az.StackHCIVM.internal\New-AzStackHCIVMVirtualHardDisk -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualMachine_New.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualMachine_New.ps1 index f133699f205e..b1bccc4ae1c8 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualMachine_New.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/New-AzStackHCIVMVirtualMachine_New.ps1 @@ -675,7 +675,7 @@ function New-AzStackHCIVMVirtualMachine { if ($EnableTpm.IsPresent){ $PSBoundParameters.Add('EnableTpm', $EnableTpm) } - IF($SecureBootEnabled.IsPresent){ + if($SecureBootEnabled.IsPresent){ $PSBoundParameters.Add('SecureBootEnabled', $SecureBootEnabled) } $null = $PSBoundParameters.Remove("Name") @@ -688,6 +688,16 @@ function New-AzStackHCIVMVirtualMachine { $null = $PSBoundParameters.Remove("Location") $null = $PSBoundParameters.Remove("OSType") $null = $PSBoundParameters.Remove("IdentityType") - return Az.StackHCIVM.internal\New-AzStackHCIVMVirtualMachine @PSBoundParameters + + try{ + Az.StackHCIVM.internal\New-AzStackHCIVMVirtualMachine -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMNetworkInterface_ByResourceId.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMNetworkInterface_ByResourceId.ps1 index 85467df586b8..f378760356d0 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMNetworkInterface_ByResourceId.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMNetworkInterface_ByResourceId.ps1 @@ -104,7 +104,16 @@ param( $null = $PSBoundParameters.Remove("SubscriptionId") $PSBoundParameters.Add("SubscriptionId", $subscriptionId) - return Az.StackHCIVM\Update-AzStackHCIVMNetworkInterface @PSBoundParameters + try{ + Az.StackHCIVM\Update-AzStackHCIVMNetworkInterface -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } else { Write-Error "Resource ID is invalid: $ResourceId" diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMStoragePath_ByResourceId.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMStoragePath_ByResourceId.ps1 index 2736e14e16a3..5625313efb22 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMStoragePath_ByResourceId.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMStoragePath_ByResourceId.ps1 @@ -106,7 +106,16 @@ param( $null = $PSBoundParameters.Remove("SubscriptionId") $PSBoundParameters.Add("SubscriptionId", $subscriptionId) - return Az.StackHCIVM\Update-AzStackHCIVMStoragePath @PSBoundParameters + try{ + Az.StackHCIVM\Update-AzStackHCIVMStoragePath -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } else { Write-Error "Resource ID is invalid: $ResourceId" diff --git a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMVirtualHardDisk_ByResourceId.ps1 b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMVirtualHardDisk_ByResourceId.ps1 index db1d46cb61c9..b7296f150fdd 100644 --- a/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMVirtualHardDisk_ByResourceId.ps1 +++ b/src/StackHCIVM/StackHCIVM.Autorest/custom/Update-AzStackHCIVMVirtualHardDisk_ByResourceId.ps1 @@ -104,7 +104,16 @@ param( $null = $PSBoundParameters.Remove("SubscriptionId") $PSBoundParameters.Add("SubscriptionId", $subscriptionId) - return Az.StackHCIVM\Update-AzStackHCIVMVirtualHardDisk @PSBoundParameters + try{ + Az.StackHCIVM\Update-AzStackHCIVMVirtualHardDisk -ErrorAction Stop @PSBoundParameters + } catch { + $e = $_ + if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ + Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop + } else { + Write-Error $e.Exception.Message -ErrorAction Stop + } + } } else { Write-Error "Resource ID is invalid: $ResourceId"

    rixkaS*=_tw? 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 z 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⋘Ri>7HHGp!trug&1Yf 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 z�cRVDEx(?*iGoATGDM*MJbiK?nFmFa(%Vap09hhZz*7W!-`ch3gOw#pK58T#%L? zmRVgGeV@mkN$Sii>7)i|f|#fJ*K}^%*?A4={U+%6G`*iv`9B$jrw_((dFl0#EL6@$ z<&L=Cy%t;m%;pf&e1QC<;pDSobtPMjwn*`LGeNN52*f9Wb3|N^c(D>qVua_}Vujla z7O2D5Vk~ln-5sfjlY-7qN_-w7B5l&iQqJ;#+aTSBAO*#oacZmEsd2cBa5zn#Z3>6! zjDt@WijK#`72G@~`WI<_12^9gYBn1lB@udc#s-`d(m4^N(3=xiPKLV;En_0Q2Q6Pk zLXK!IRI%4(=+&sOkCI={9WNH+*rkt(4zFdqSA{Bd57proG!0XL<2fSmc83k||LyKU zg=qrd72XJCDcZT_9I?f(d2rz|eqk9}j44y57^foOWa4%h3;S~_G)s#@qiDkl6ph_h zzn=H2&@>-IxK0=w8CoiZQ>a7(!H3hZsN1Cd^#IPGP>B~+39cXvCeNlOf5uhuX*NdXz;#G2bBsR6jJ~yJG3MyF5fUQONaIt1!v|Y#UY*LOg?HRFl;=}@5cf)Ti(5rZu3%8B2%nUR>q7ggsX=G5yOZ900!?9EJBagq z(EY-}OK3=AD-&7N7x?bHte7n@tI9wU0iwe|XsQUp>lRgFB#t-XDZ8g5)~XOULV;3R z%=Yxs775kZ#Ci!UkzQH2?uEz*fW`t=c%h5VTg^qyTcv0mQuAgNVkKkLToK)pK?WuV z(Oa=eM{g^|NLE~_)pvAf=&QjHkZKrG_Iec>>EV;=Kwe}E>G7^fApS(@RKg{Z&R*$` zmhSsy@7L9i0G0w1KM!<2D!U&I^mNIdE_{kb_I)jYPu=%F5SN8=q;#&3?(OyV0~O9M zE8PBy?)_OAh(Nxf+&-&&A9}8=CE+r$E6Ov3K(vB{W)rhbgv9Y}TwZz|!RdRx=i*4fgNdy--`_m_DD{4o#B@T{id$ z~oMxIS|O5q2S5Fr&gH^8I8Bnzk2p>3{*qHP>|N5e@@df<;#*U0QJ70Hg~ z;w4dzcZ5ZNX}P(z`2Q9LP{I7HX^rkaAeDp45W0imfS!wru~vHysj3{&7FdcQfd;S7 z<<)Y$6c6)>Y>}*~F?T=SjpAKQ)eBQxd=^xk$6hWV+uDO3>84iir08`mPRhyLk^ad zPDkVBm`b#e`^v;R_YkVf$HURoYk1aNXH>LX$P-%18ayBi)G~dtR#BKGCo79_Eef+# zg>_R!njD#7?saa~EW$W5%(uL(*}C)mdT!Qq{*^U@ZaLZfLQR&gESvGp$>m#KY%)<} zWR_12xX*eR0JZW)*(Y${6@@Rrf`fp47A1)w{!f=?xUaIa%-?q0(dSVN?*qO6o8*KPl{Wv9_>hP!_LDlH;ux zL6`?)R7+hEEg6ZrIN#!BY>kR4_%^Ic-)c0lt}gE0iZ&>e4{wZoKFvA`3$Li7ZA_kC zMkj_u)D4>bx5Fc05>z2P0J6s|Jg2gKDs3spgBOD|m2nub#8eJ%X2Z;H9M2#auX$ zM+z6~)Mey!!+D0|OS}a{pa5V7DQvh=h3Z6mXb0(6R~wa1y;jTlq-aEL~s3@jd>&Zln_e{ia*QIig zUZflpO3IWBcN0|Z!|CPPa!8@%;JCx(+&7xVl-SSb4R^b#{0r&jhqm8C<-UB8ar2u)Sx?nm5iEcLHD>2Ew$5?ga-*@JgRPnl0`um)?`-w zOeK+Q0E6AQh?^eXTqP1O2&D3bMdD7V^C`Z^gvc(>>g;3gNpz|eU0^NZPmo}aywzGT zE}l@BXi#P(AQYU^E4%DTjpg{B$LV;SCB~<{kOjj$sES;UPIKn0w;o-M_2>?1|4L26 zWX}GK#3vEl5z_srat}Ls$%0A zOaNR+FX)7YeX0^tgo{#BlNDCC_%9&@!eg9#RMVdRh^U_1!plgRt?b%|$MNjAu#Im8 z?F=lQ&Pt?Y7T<==WF_BLtl``8^?X})8Q-cl^R4hoee2M`YxQkA z-!gCDDZ$m`ga~0j86AzFn6Td`r?{su?70|rBp0O&F|0DQ3yp_Q7feIhlVZB?C4gaC zpmyktqB7I~^>>N#3*FObr4D5vF)5FaY3(mh)HQ4sl$#YAws+qSfnz?m47!tU);lXX zC`|!7B!Ba|L`!mALLE*eZHEv5_9;kR+@PGIfU{IOOXG6A`v{>!VIKsp;DdRXKoTr$ zUVvlAk?E`L=^u`^pO(xW-!;K(4{y_N9T1o}6AC~sR zbKFP4&UJppV91!RD`QB42_}3VBbsR#R$#Scw$B~SYBt`+E`QxbzSU3R+t}&)HcQ{; z>e~XoH7@4c@MU}(vyyLZYqCg`#;)g+vgH*R2rw^a2l7O{0{|Gcg2?PFm4rZEJJbTOK-!yKupxjmZ{an!aE1j0kRyO8erb`Rf+>=XRF$Ue=k zNt=CVcCGsu@dm8~*Cd@&xV$jWn!eV)d{&3-wP6;I#HJuwI#5T*vpe5!K#89cZzHf-B z;oN*}0SnpKMdQ^>h*FLv6qR!GJ~<9E|jtFekKyCwR#T<0}(W((#zIAJf*1rfx7!DQlMJxk;=) zw9TwR83dG5Wne&qw9J=+7;hzQ=6tn{WiUBy!yvK@5>lS{QGrp(1Jt1{nd1mLKY0YY z4<({TD<%ZpC*X2cajY;?&#SWP8kuWpTIJ)yfKdPpX5+%KV;J5BIJ>&gl6vMm84!pd z&zz~DqB-nO6wS{obDzYxkmtbJ0eR$#MJ=A=ULRU+l7O?5iB;1B_~=74e=!eZp31{Qw-X3E$V&+* z=jt2W51=htghePpTP)%Z)}OlqU8&X?!W&#F1gR*}`@6`hA*T&%SqR@z1OBVJaV#z$ zs>T9JUI#Z`pjQR@gU<9YzBTDgSI!9{(dclP2CAyiS8sm!tHPTu58A8HI(N_RYYy$- z-?{r>iJ^i2_ig$~0j{5nqDrk2ogG!y#J|cku!5aQt3pp3YB(xj)v$)is^eKlw1H(W zZ@7LoLQg(M=*pTA!$sB2I-)$5f0d7)X#ddtAgD-7`d6w@IcAgarMkbNdY0&^{*9xE%*K_O8%FErT%;Or>S!PFaPBR z3Nq-M7tGb$-46k8inADaBRB?^2f1N%;r}l7Gxgxz|C1q(o?6igX22-(sFkC$0(0~{ zIj@|b<>|?DzAl-sOBQl$%PQ3DAJ@O)`d2aA9II6SD)na6n*GaJG-@lGlKTI_Se^S} zbeOdHBuYl{)zeif)F$e@8Gj~;I^tj-LCI#lS7|bBRf@UK075zv!E25U*!}La0L=i1 z!%=8{90fDswx_(x;S{9KPeKrIFV}Lx!V$Nyu)>1@^#hMH#q%shn3|=gNU6u*sfoH0 zguHkv6oYe##3Tm>&>7%Ol=<#+!0jq;v(BUl=?HI{9%BnhJzrAy62` z3<|@-wi0&$AxM3gI+VhyjuW~)N#w`AQngvhf45_{Z;cKpbg~GUwr%H|gCaUpufbFG*Ucl@$B53aAu;f}Awi=3RECoV-ES(Jcv}58o7|9ytd`G#P zmHQ*vJw|pPtna=@(cf^@^Fi73E7`jcAHAyY{gk4=8LIDk+4r36`=jb_*UD`AuJB~{ zV^}{*nkTSdJ{En@Jk&Bad0Pk%V?gpD54en{0YPpiJ0SiSRn~ZkscSp;??|ShCVfmw zJyO<(mAsZ)YOnVVAx5zPLy1~vQ%hJR7~B#JMhr{WJW5?k>NMT9YSsdi*xuz$VM))L z#yTNyCJS}`Y`xk!mu*^XKF7{t3$@%Y)+Lv-g&VeV4ps-ns9c1#u{Pv!!*sIt3%u01 zVIH=qEOe8sjZjP^%=@ud*UHTmu#$v18Ff^$2i`_7 z4u+m7TG_ouJw!G*Nl=!Teif?YKvPJJ&)?K2>ggLusIdm@ydY@b5w`D;_8kg4>74AK z^Odmk73q9MxmZKOu0(u0Thf4+=T4~dyd|I4=I+_GcgIfbpzqv&4%&b))ePwuP zOUky+qKOi0YZ%O|fE}?i)H`xcy#<#s0h$(D`*N_c$i7F~|3&FSH;Xy$i>Uir)XkwB ziMEM{=LEkuJ-V85?5pGU=h49{S)Id((>F*Td#E|tl-DSE*EEU`&Tazct} z0YmAPTfqELTpzR%U*PM(y5`?JJMq|yqX z`;{yvkzX;%{X9rWG7HITPO>%663YW!EI?3Wh1Q%f+3c`bVr{AhBW=xMUPsE1vLBev zmCzizV(|6{&A_xShcK&OQ-L)ri~&?(aXHr%*qEgjLTc)<8`*w!iu(niL);H1GD^xn zN-LQN5h2J~1@~fF4i?TabK*G%UshUMF(lSjB%jsqReR&|D)%MSK}oiws9CN9%lM!> zj1<`hup<0S&nxw#0c>tyq^Yst_Ms z*(L&Z@njuA%G49g2UAbreWaeSD}5Pf!ckyh!diU)4qeU}hYn&Y#2qY@E0r@+IbRma zJ**OC7#OS_gZCu1^RgOBMrCxGBq>jXc9~U!?#tl+NzDJXIy16-#_&madt)WoeG~bE zn`s)nh5lPf|E;9|E~m>{a)s8Dy+VFy45{IOf#nMau{?!X-g>bS;7R1qg(0@o87Mf1zM_s$DiYkxW|bIAmOu!+)0le z;WI}?In6u5~D;Dd?1kuK=nB<=kHH zE>SK54^?`%%xScVh#ad8@-8zh-clXe=RK#DeAq)CPX9S9Kx7{xSm0Ayz=xYTOw$|k zr`h*|{#$_1DkkTQp_(Ag?}MVm<6-CuEMoJlJfMTOq2gN7%#xP-pfY%yC7Uva(j*!x zGqw3L=6(%@DI7P>^L2?~XT`!i+}O8gKLYBsywKru?JCc(Bo#WxtKWKYm;3Lih#0sq zMBcT>CJ=VkDx`5ykxqy3o@Pl@FVJvs3UPXnbrX1b!ZT>POIHm zhAC3(Fa4htu-4atH`u!i9%6f)c@s~t3c7fD6FNMK6pg$cl`>a>el)V9lK#MIZ-BU1 zA&MbwG3iwYi-%V-v4}lD|0LJa!L?}F+Q+ZaIxu_}R-SS98)%Pm0b!-`L<=baGlV^YLF*bg5!7W+Hns8uKPQ)l5nyke!FVys6W}=roCRVC zwJW(Q6)N5gcJ&lKzLBi#y94&mB>tRg<*dZ^k+?kMehbKu2MbAL6ry4da(AtnK{44P z!{M>q0tJe=%UG_sk!4eS|s9w&?_EFr0LI@0o#OOd53y?)0VxH^1M#W!7aSlc@S~&TRg(kI!pB+Ih7`%rcHUbmA$QDK` zj10Ufatd5iELI2B%C*vdh>nQp-V(%2c8%(pGs*oPUT_pzVe5$Lc+xs*2)xMu~KuQ2J=Cls6>96+WHz02$nXrHA{(#;fdz1b~mZ%DJu`IBf z2P5VapQFnZsKI2AXJC*|F$1$a?4Ls3TRw$7^C@GDE=Te)T}r`}SENC0&le?u9biaO z{-~*iXTbCW^h#Dc722jPLRH|nJ-Sru%aI7}6-mOBS43L#;W4w}p(#QMF&(78jAehn zvj1G~G%5UbpI6;qt?#K)Jyqz7sBkt+*7wWi03#8nWNYL)kTqYCOf_Cg+Io!_+hS`T zV|8y8=*>N~ql2Pq6Sjs*F^eZs6ort0s(D)oN}dx493mpIG37dny$m+Jh*YY7mFi#R z-c9eVuAI&<=sBUK=Y&@E0tVKy#j$D|C%HdFt8mRJ&H%fR8oW&ukT0}AD&}#J93FdV z>U6*=$y9o>*I}8(1XIQiP3V z#zSy>qIuWQv#xAvCb%HH0QpY#QNn($4l`BJjF_s|Jg|t!%^nn9@;7X4?7Z5DD#B|= zXtCr++uhfJDVaD>m?aWhESoIsISkN{RjRS{AEMc1fw}Y_qOm1vDgB4zTuRkK`VVof zs9GAtf7qv5sc!Jz$XEOZGBBl8Wl{2{Q|kU0tfG>_~dCmK7J!@iAAu+2%YCwC;g9-bWfM2I4pX1Cm}?8lU|7)$S-4P@#g zaGDP$MP;Cte)fQ7+Z@txsb_j}@vnF`+}lqxOP>(%BtU~_G2q%k)N;#Ke!Q~*CJWpXZo7jJIz zNu`GoB(jS2Vtnza^@LAmaXVuCf#KP-7!^hA50^d3Gn}9sVibbreHh+63tBa$>>y;G z_khhhtZZw%2>3<6U*EcD&w+!aSm=NcRau4qUU~(WS0-jCCrCP~dJM0Yj2SmwJLMD5 zS)44IY7tI3ykcu#24Yt{f1{IZ>L^D8y9^i?hSHQ~jTIU#iUJrN>_p$={tVUE3b_hT zX45f8KK*Z?ZIK8AV??0O(Frga1{!?rh0U-HIY?)|7D(SrD{xxH>`*WayEnZ#eXkbaF^x|j)#YVGnOe(^Z zp?s+(pOlGTh2iN+=SjCGW3T%Q-6W@B8C{2EstB%F z_lJiO9$#>OopFWxAHV|dLMGk_mr$EexZP;;muM55=1^|EL2vj5)tBn$f%n$tOR~E)k##6M zWwbtpTv<5XFf~v?lsLu0wZ?1{qOXXdNlR%N!VL%0kPOMh1wIGUU8Od<|A}fG+RJP- zGJ(u3-Xr-M(8@^bd7MX3m zd!L*jo#N>(Ks&$n+WCBXJ3I{-O1oL_r5&On+L?iN-t^jeBfTBW@GjP$h3}=EBSAWT z)SZuZ-qP*3q4aj9Uc8;P@1>nPgEiF7YP9pV*AA`g8SH>8x{LK^>3eDCD4(3_E=D{5 zg?6B@U0TI6+JSY%o{S;9ebswu=fiv`t9vEd`JLAvUV|HKpupZ2>(BD{(#}AT4t;f( zqMhG+{h=tW(Vv+Y?@yZXd3U~kFi7Xgy6e%-AH4p2B)uKpZZwo`Sc4mEVc)%-Lwr)L zI}7dnx7W_M|Npi#occlaUjxpgTNPOFf!O)LqNwK$vCG!t zc}iI7N_l(3BjiL{`$Eco76B>uhHUp8?tuMhBF}y_GD0dje?B658SsupK_X`VX`TB= z{0rTdpxC7`WE{?ha!0ciyC%57p*QsP~82K5cV&}*G&O%R0&p- z@@6>bDfXyKNlV8e%E$^)j!;NIHG6(6+`%AyFoAtl_7uq<#9B@$j^V-~F|A#h!*E)^ z&`T9N@sOu^zO!iec>X89dk~K~riC>_j1LZ+Vj3O>7=bNh-BOqw;8yMWJ3bs4YB*`n z5_L%@6bO5nR4A_0M(-5R<9GwUeu~-98aG6v*)>8}d)~(a&VH)o2(!kvtKC0?dh7!- z${T4M{ciCbdT5XhQxhf>X3QL9Lx>Cw(?OXup(Tz(z``p5e4?~xqb*=RDeWhPhuqUX za^nYg7m>Xo-T1eEy5#5llE^WSKSQ4n0ueHo_7`a^(>QS{(H zy9E4K>F{!0&s#nmJKe!19!q$Yz2iSjga1!DT%Ts-NWl5@dXQW5h!X_p(mZmj`+qQK zYaxl4LzIG?ZCl z;lplf(uU}D{^AUp$YM-rSf(ng2^NKh*+PDww}Z^f!NJeeX>Gi0JhCe~U=fbDYs z4lEX+e-#P|MDTmC;aW^-rp}-zo_Nhx7T!eQ6don%)m$7BsRHWot~Mk)vQS2fms6-Y9&e3I3f+*@Xw+)DTUf%Ms56D{+Q5;J%@G+{qKg( z{Z}6lt2*}MVEBWb`xoxtb7=1YvGUNty@w92>)P9SKorSrIX2*~koZf?33S)V?z*^a zgtfk2+GnLZN!s|#5ax$-rL!H~mCo0t^K0q+uS^_=xfQ}bzN}Q=x0Nz~7J8wuS|^$S z`^hrULxKZEgR*jyieQzp%EYX|ZAdT~9QtZeIMRkmzuOXRdR${DN7O42YtfK5wAISW zMvWk?uPv4J)Q1=N;~$Jp z#o-fT2Gl7lYp?8Rh0m9GWs|%jL-Wx|%(T}|K?H5g+)D~YDWrgpg?j5n{O8F-Mq(PI zVH}P@kj^ct0@+hR=gqK#9Vu^CxlJ-LRVF?wyO$|+g@pkzE(g5_!i*CJ!4uR*5>)(ebx4zOCr0hG7B~WTk{{6iT{z#FQr=~6I*5Cm`r?B zCVnQ16IfuA3p24q{H(IZU@2ADKM``=ZMEwRb(2`E9?vE8C$C?-^V3ZPj z=>etlpWkIb@$|u17H|V9M9}T{Ar4}}7IRDKJSCm)%e@K6m~00cDaE=-j9Wkvul$o6&*!7dr;(s*xz9T(vnnKg}lYj*QY^DGf2%) zx-bTOt2~Uo*kk~cNLIj2S<@+NZiG0f#9ED7p%@2#8I1M} zW#s@rltNs-00)1HQNnhWSWiUNVtfFHdFJIM@$IB!cdh@c*Rqlwsr4pZSJ3A+QYUf? z`h8$;$2Favo*mA*)qzy}k8~$U_k1wX8BTOc`ul)Pyd%4>mE9kX%WC+MS4+E}q{se< zbc&@jNjl4=bA}YId#gleg?;C?a3<2?C&)+wN(?S<%Z_k_zSRRhwSR;KT5!`a&E3N^ zcb92#DAVGgCxTX;R?l@jJG6%Lj%2G@zc5-q8?B#>)2um8yA~5#xrGVi`8J6Uw6Z46 zbVnzMJX7H|k>;hzJe`dSS3`NOhHF*gTp3Y|^^e@`q@KrDLy0r+?PJ^^;r#+p&hYlkgM@QabUXHdsUyc`u`I}u} zMK&p^rOoS-2N|ow$#u#0(ApxLGKD75n?gED$-Atj6BQXDuy-MH(QtvsjRxWA!z!)E z#zJ5_rFAj9G0F|VewtWRywH?DV$s@ z(Mq=A!xwha82M2Awrhde>3kJ|ppWsz|6)zX+V(B~R~C zckWepe@)&K3EZ<&(%Ep(*A>V&fyCq(w!q= zxSUrq+-qfGoJ`zoB|aukJumNhT4p843>9YBA6hUkqbdRSlk~Xuyi2smm1vQx))G|B z5;V7Qe5JRHx32T%gRN^iw;$Tsv48%}d-r!9IDkW(4=5Sz*BH?9b%joBN2#*~9oh$0PsAL`*^V8mEGu=l>AN$YyCg-+d?N~)f_VN`{c z!FR6;>1z4(na~vWsdZT&&1IB=3+cO91F63HrMFS(;Y1Xohge0^rpex`LlI29kC+xy zo>OJPZQe*BrN=wz17~N8$&@c1#RtrB0Y*_8!yxv)(>cuE3-i4_HrRhdH6jNI(M-A^ zrpG~^OA75;={zUhgzTOmdoGu!XUMyzsIkiaol5Li-B;ikRn?!b`hTnjR;c5{@mvb86 z1h4`$ryOKqpacKWlq1vrkR=dZ;jfaxw6Q6{WYjYy)EGWF4~E8sIvbw}5tTt$IutC# zP?Rg|=HQKbAu)z6O6vPTa9b+LZOO*h+(j)N2}wJ6$elW*KPOa>voTvtq6`xao|u}Z zFI%krnj)H>?7sB$gt7*POiw(ud>1s&RGy=B@f<~g8Ju4S2ZG^&pd1KR4a||p*QYkICcTlqZBdF;boQS8?J>dFD+RA|dA8 ziqms(v+qC%8Do=Q&9}IAG2$~1CSY7-2?ia-c_ukcS;N#KB~~KIQ4CKG=SpQ!pbCV6 zx10iRS5~zKgU_S-b4_p+v2B|?X)pwI4%xpsgJT$+c20*bcusvjM=Z8U_lL?^pq$^z zM0W}1UM(5_bz2lTBXJy|K%CZ<@Mn6hzO6VOn}iGxC%r%n_Ez$`wO*U-EbY@I3ATemfn zK5WL`Cg^eKeV)(`Cc=Co0-UCN-(YuTr-%U5VidQzOgbNx&R>-MhIDVtib=6YIJR`Y z#~oi^TS~}}$)1x;-RC&aE3_+9)a6`8x2gHrnHf?{m+r;{#fsrN(y^`B7Z?=SK_#xz zQ4t6SW{>P3k|}}^BE}sg3CN{m(d)?96mu!tv78T<*3w%n+M!}8OKD3`zcn|RiAAo@ z;W3zl9*?Y^OWT~w^*cpk62FuBmIPd$!LB8~C9xo~(kneov~lUw1SG9=YY5vB*Fugx z)ywhUDuHZJ;Pq~A=`;H8w{U1T_lng~foS38QaNDAL>}bJ9c~PXxslBta)qLmOQ&|| zLh%nS-4qhDBb&-8V+)eyVF=^q9X-HJ77l3=1w2QRX^1AvBiOd&zYhYWDubQ&OcPgD zE0!=u#exHC7)E^GFVu*!fpfvN%?lyPU;;iJmmH9iAp^3&>;(qoipa`(uM#8!zHkj( z@u~L1%ZaIRYV#$g!iYa2=yKOyEa77l@>^m1Er~y8nsomXOe_f}mdM1CVE5m{-G7(e ze-HMGa4*h$7OMA&VDF#8y?>Iue+u@$9PWQv_P-oF_GIQkpx0G?_er*Et? ztQp!Jn4#T)`S9aVWWEM2)HB$H6BxKyyWxwq#$2WS?^RljZq&~<>SvpD3!8KcS54>F zubRWR?YcMH^=x{F?$nN2KDjT)`&iTgJs&=x$#9F_hkXlYVq3N|o-7*f-gk`p8ujl! zt+aDmXrZ$$dGs1mop~&VM3Q)N5gbvZ+p5ux)Q+Ly+%)(sg&<`Da}~q*ET(2Kmi@R2 z&9&fbK=k!SA8Sr~H3G0ZCx#DMJ0rq=R$w)l-h%Ptbu5fQ6Mx@o3Eqc5Cl@<1;JRLc zjTc?g!heVH-##YP)+yAHxgE%T=321i%UF~rXi;-}SXxNyS*%(kVq)$tDBV8^S=~h+ zMR1U@#bFK0?!`yvh*o`L;HipfSb^~>W2OO0cpMsGpWyvpRmL#fvI4HxP`>hK1#psNkyM@ zKFx4IR*}C6H`%Y8e1@2oZjh0Z6H;+V&xIB`y-3ML<@P&e1<<0e1jIrjg?$*lV7lfSQgP5&J5;)SL-3UW;_*a z?eq(_Q^DI64zmEVfgptC{ThSaTJra3MD|v5CHrdX@%ESl{@c*NG5W4wjHbCUvBkrT z3eCR7F9f}geXBIPs-_DfHay+beB|PMMB@3Q9`E;8>fgs|^?jg0-;ZNg29-PE>5r46 z^zT!3`hI4FzMu7epYwj7uU(J#X5xqqPdIqu45v3n^Y)m)hs(ejHxS~h={IKd0N%?( z+(*~T=yOPGh&8UH3;*Ydhh@Lt!}bH^y7dn>kPCOf{!s30&=Z^V!GYC)%(b8O+h>y# zB^?E)lW<~5E44qpjH+m{U!av(^+KopnGW&`cd~A%v_HRs9z)JH(!J7tiGSDHUtCAO ztL-l#rxf&wX#vXDgI%D7q_Bpcm1zZEuI)p`WCm7g0jinFziKtGUWYv!8tv``>6UD9 z14$H%6F4g-niz`ew~=;RAO;znDJpY3o*=P0c_r06@qV!t<>IZdn%Pi z1TQM^Uw|r{B<#;Cv7c(pCtwVE7Z(udk`4@J2ykGmEPPYXeo@-Lm%U#f(*`WN|K@yK zy7#C=yG*Q0SS9Hyq)7MT-Pd;BESBxqjWrw`0wiK^ zsIYVGzohda>8?>%#O0_7NV{_1af+m~M7r45>?rpgnXqL7dA1SRy(**UY1sphYP#(0 z$>5oG*rmHV1>@5-2(z(y9L05AEkr>)zyG%$Xq!b&gefp#JST!T1k zRzT5GP;pm?x~lfYWt6^nj|2bSR_>Q+W0|n*M?B&9SMUC4wT3^|(17QgaiXioQYn!D z(kvJ7fwf#%_OssG&w7IWoTm_;qaAx_<)fbHeY8gZ{+OpYJ~mwc{5GZ_>X%?bY{buf7+&c3$x6ebG}~FM5v7XRt?%@cNAYsG$AX zvHJIC+etOl+Fzhviv>^(!n!;GWxNCV>K-BLVTGmrHzls6!&b1afidhC(?X(_j>pSZ z3-J5A*c}kFgnbqfmJ<{UxlGtkE3re^U!f}kUbO7n)!q(O{+zVGFP*2Q^BtLZUUs+0 z?me>mXR_y8vgePo2NA4IvgerWT`ha>kVgyU(W^X1o2wQ|O9iiM7><^lRG_QR`m>rI~t{_o{9jcBMo?DD# z7M#pFs|^bj@PLxXae*+*#`W?d))cU0To?hG&r`MbBPFew2sdoh#;lUv%n8*#!sT8+ zh9}D5oly>;{REwifc!E9_Su%f8R8FG^Gq+B>`f`p7VAtPVbm(;9PpJM9v@ z8J}VY@iDZV*oEN=k~Se&S9=1>5t4S3*k>vFc@=5Ah1A>}y1*ip(MnGluX(hP9pZDa z=mX!h5>_Rh1Je1dbSouJ!}f4ks(qnl>?O=v;Wy5zpmLCPv7cGjnu+zOZJHXJMiO-= zZ1&4HdDI}iv+*izK{|Dr?H4O^#ZFyjZ!6U^b-!Q6_jyr|+I*8PbNd`puLZWfmSp;c zUEVfmE#7J~eBJQbO;9K%|7;n{)(0q?b@auaS1|Gc8OKLPtOp z5wWh~s@Pp@sB5pQuDYvh*|n`@SJz!v|L5Fuo@AcMBs1)g_xFF_ozDkyGf(b3?S9WW z-*fJ{=kj+R))X9!x7F7ISY515PP@Uv%|dD~e|4CAv>NJzI`X+}d@(IFRp8z)R}(HZ z-*7`*t|nyR&BinQ9)JVm1oBAvW2uWUn=qv!K3kdKV24h2W9Fv*KmpD?k}J&@WG* zgP()p-WEK-bT2vGVOe>T3HmmgApQ?lm5)@Dj|lh&Ij(AvP_G;6A26;ixS&|B>(A6t z8GZ3hHq~#E-kQQSukhBuzR_EA(Oaus^46+#P=hk`K&bJ(@at{Dzdj}6rMv0t^}@eC zpCF)C6Ki~#$b9|Lp5`L}W?nBdu8w{Wopvgh@iwwtbhumX0 zhB&t3c6AVvZx;4j9eka7JexT(LHP7|B0S;E58-Me@D4Gu*U?>Vh5K?@j0G(_;Y-{r zK+2RU)OW%x5?%<^-XnaM2;U>Z-@mGVdNu!a;hzq*d_YfJ35C~%nS%tyx057O9oEv* zLmjmsZu!aZ*v^^ixRzs}VDuJl(Y@QN+ai0TJ1KqYG{3cbb-&K)zNr0fR1b5%$GV^; z>Z6{p`i1$pjydWX?)Cza1NCAXl-+FgvejKv3`-?udRxF>f$%6y%k5tS7HR?M)IM8N zqb+7l$fK}&n7uxb1>Cn)JtoYd!n{^^*Vh**ZeTm+X2V;9pZ7CT8tQYtfiH+fs4tt- z`}k{XYQJvP6)v5rzO`-)&{>00T3RDS;1=~vR8`0pCcAycx&=?74?O zKxAP(A@}d0?Tm?8yRfh$4TIdxaQ?9wT9<5ecXcX2eORdvzb!YYLMl}G5L1Ob2A;7{ z^MpDHE3Y^%(ZOudw}rPQz}9RHCk6fw6LY40j@KH znf(k{B}o;FQYe}AJ)s)lNn4mBmtfn*9K8@xHqX3N-hc<%nd5S>?P5+?Ozot()x6-N z${WooD-EHs)7hMQ6@B~ih1j+=XF$jtJY{ocF1Ah0S=!S|H|I>p&yCG_6R~Y&E|`mL zCv(wqY@3-mI=<4rBh>KB=5~? z=T2Xp6(ut|@Y^4|Kp+^nlRjm0?LA&Z<>#HP$d_zQO&e<3(pB40)1E>z9mt97M69GU zMfkdqFPTAfsVjvXGwE;Lsb?0sIz6Zh?E>TMMF+Dx%4@xCVXW@zYdxBdhUuU!K)3<9 zp;~x=fx?EM2uE!UW~8RG6ED z2?c6D6TWoe8z6jph3`w@uOa-Mgnx+e?-u^IMc^<*(ZzIcJCFjXL9A!%Cpciv1nwBd z0(2DE%&NdVHaps5gwjD))CEU?=hOt_EpIg(+mSwYM$eSzB^q<_o+caTK`~lzNmpay zD|x3&*G*ZvVs-8!ST|GGkT0dH6o^5BH(3?q$DfANyhZ`Md{u(ccfYUIG2&HL#;B8bV+g8XwvlsexF48PGb2 z3NF|IQJ;Dkp-4sj#X%t8m%1KO4b+h{C;%`B)gu^X2niNrv;#6a`k%5ga4X&H`#r}m@cCBq18;kWW0ri;dV`wjY6%;N z^Aqr*s$weIcuXJbLFT4Jp3WHVg}4n%4Xph<1IzODq3{r(v4w%ZJ zjQ#)vru*sXw>m=2gi`iK@X4yd@2dsB7s2l@8x6t}z%tSxv>>itLwMT=FT`X%629re z_l)rO6aKRzaES=qECO$e{CmXC4r1pF6X>(J1ux&#qbkJ~hYib^ABss;oN)sU~#h@hijciV@(9UP7=s$_dxZBI0T(h9a4 z3Kb*~)W0h^cy|l$W5WB5@YNT-dBO+b&>w`qo$!wpL8l0YMDQt=sT+8NPVz(D$Rl%#N9?9{ z&0#$Hz^pHu0YEG>YfY-*CbDqB+)#De>H#ZH8)9xOB#1CTp>SUftnZJffOii+3`5gA zr+TCV1~M9|-@v9{5XhLN3&?2#Krj1gzQ1Sq{+{Lg`z@($^;{<6WvY6?x_ZR@X-*Gz zNncvu>0I@u)fX09>e&-*%}V77rW7?c_)hhd+ywQBr;WEWTnnc0)L(#D!Q2t*UrKj17dZ&DwXE$niO zK(^l47DTIjsw4pxXUAY8PW@8hQ5?NN$$sLTGzd|GVasbVqXp+z=F%$$E2I7VT5vOU zapAqZ(J=oEk#$9#OsI_RoF&elGiw$;dhK9X8Kk<(9>)#gN?l)a{^DUO(SrF^pcg9%>>6JOLqz5X+HSFAG`GRX2Mr-`507;D7NRUwifLk_6LitIjP^q49THfgUzf#WY- zPzC1vvPEO>CGd^$)&oMuWOc_J)ZZWixIydy*v(jXnQH3-?qdht1x`F;=BSz89&nb~ z&?PORjxwl1T>*!m9-a~^=i<B8#wyBfK{>#xKm6RvXacti-juN@g^Gm<=TeV= zUd~Lgcp(-cz?2%a-T-n0C`Zio#kQvd<}oTPPe1v3ElRTH$u5{jNi%I;jRG1 zUGTZ9Gz3uSyY5t{wsYd9bxYcm1zfl{SM98k)6{$c-%R5)C>a1sr(tc7aYqL+RG+7L z9IKbocgy?$h85pg47Hw-RA8AXYlh(GN5I;Dtd{lB->U z(J^|8b#RNd;X%*o6FL{uOxj{fG04#qYVB)i&$WwZ7{0E0H3#bbA*a?Jtha=lS7&r} zZ-4lM#~~HGQ5T5W0t0)Fs6S$mcL3a0O}MQL%s`)jbsiU>d2D0UbYbuXc`R(aoQ;1a zG6c#Kcr9pgP}|NmR!Ka_I>IbL97$uz*YIQ5RkZ=RxE`*tP!PO(9@g)k@D7Bp;r?P! z6{1RsGSS3im^*AMFP#$)v88nIe)GU7Lca)-2S(!yy2t_BFvCvpF3<;{lwq2tbe}l9 zTj1aN>tGCZCdfrtRjtf9wDW1qfnwP>R|8&GYbRe#9%vAJc}N8hL@qGhQ8z55743l<)dXN(;0LPNdKNOWJh=DKCHMZc%bPFY zpKlIS>mM$L!~5GZ%z$JN*HAGOKMXPC-um9b01k-j$bAsWheb*5vFNL(AaJ0%rz$q; zdxvljC>rOIFB|Sjx<^&$p;8QWEA$u&J>dQ0#+NSnwG)!~@f>K)l-Dp@i)`;O=mC(I zXW;eGdZW|GXog_U0lXz-1vKm<@Hrr*y@pn_c~F}}Km~H4=C~knS6l__CWrH>uq-N_ z>M@MK!Kv!UcdFG@Q}F2u;9Mj4TruQdm<>yd?_6uDR>yOBjiKI=e6DZcToCew z=RqSW^$CH^AQgiL1ALZw*qSvQdd)_4c-VRZChj%>)4|L`Al@ju&fepwnT$=tzVio- zTe@KFs&%Utug@5K)rPf;GA6Ft1UsuNS(KZbL2HQDWlUK=Z^80WLq|^=mtk$eQrfHk ze|7>scb$tMVc@Khn}OChx%Us4JW!&9jhH`E+l#bm2f~wYOuLZR8EiF zja%=+Y8SQ9fW4f!zzLS}09H{-nVUGnDuZ9sEgv<)>EWFcERLcPS=_ni^fAEfl zXH^(4$AF{0=f%J%!tS{Wcu$Yq3-LM)=;xjF(RhKO0NB$6*+rI(z@29xfX^DZDlRPS z>=*#^is8%i6d2J7@M_GOv`WW%HB}t)Cg&p_-m}8kgp2630TML^!+6$&z^X9~W~O1( zP=q?c4g5f7QeWH81SIl=^N~*aOmJ_OD1yq-J_z1kUQmPI~-u(&Mv8kI!N~K9}_P+%kH65$W+Itj9N!9^XiMd);nQt$V~Bno6Kv7zyeYq(HaZ6llKiFLwFg5b!U*pVqjb zOoPsyon4{T9`6;F6x3oV=tEM_hoqoCNkRWIQZR_5U<^sY7?OfLjAZGskGT znnyA*k7Oc;WFm)UVj0QAvPhYzxmmk-^*0Z~bEI!ui9wxaQc{!$2+M3HEG!lw7K;!Q zoZT!IyICv_uvi?>+P;>&LC4G+$Qy>>dFshCI+ou=o*9pyJ@QGm22Wbn;KRxmBh0)j zUyO+JG%J_$bWyv*C1^rf3Bs(H|0)TpXYrP*zMrc3eiHC6{}hRmf3`Dl+!Y+)E}+eY z)bU7Bib-JZJ?6bPg23Fv1ZIm({`?k!@p-&+5L-xKMv=5No4N(z)^@5qp+#jTiONh8 zm3bs8^H@|ClBg_<6qWR)WIl4qd^p#T!B|5KXd^M8jl_Vq5(C=GQlVHXR8A~>4OeZ$ z@nyYQvFFWFquaz)Jkh<|m$H8_=_icR*;t{+yU=<8Y;+r~)oB$i*2=53oNuB>xr!fU z2R+IT7IGg8xsQcB#6lk8$0_E=DP|!*#zKBf3%N($#zK9YCDiCQS1QGO8!qsl3-us1 zJN%_zT2`q0!1@2Hgu2u$?pj`oyfd!CZtkK+DSKRmyaQ#Cx70#jR}#JSRRp!Q47E)J zwM`^7TS;oRGSEy0n#n*5GSGq=Xcx=kO=zB4%3^th%*QcC+A#}h4^=kOo=XU6gVm65 zq>U_#w9fy%NGtxa6lu#`MaSK{Zc5oJ326mok+#x8S_?v2-5ErOW)K~kLppvA>G(yY z;}@}xUqU*5Nu-XiNlQrTZzMXjg|NHbVnbeLLta*tyBM##7_a*nulrarUeAj0daW4i z$$Oan+%uk?hF2>au1Ke1DaP_6JQ-?z7+ftM0jqfaS1H424Ch)K!|CZRm_b0ry52Tp z+>D$Bzm2RE3xAHw|EBQ2X|a}F9`8B}(7g%JDQk58V4XF+HEG#MnsXy*&Ml-lx3K0^ zj6}sq3@{P{8i@_$ew{m$F85C+9)1%e@g@t2PgOP&-$)3F?bQ`gkk~VcM3KMChQzk+ zf*yoKZzK|#HeY2!qR#@L*W=x60k9JR&^ef#)WPJW4kIUZSQ#gEBsr;*$Vr`~p_q0V zhia}MJ$wb};kl%T=dvDNKzevVq#jORLYj9uvxe1#{ndp14TSv-#I?5&*WSX&myCSL z$lt}t-^Iwko{@jOh5X-CHu7Jp5cw3iNss1nh6ir?g~7l2@UpxiGbsupf2U0pTDS|^ zk|=D86a|jp_-vxEOZb<#{J#_MFMog)!6|a?%y5O)dc4~#;bCk3k(fdQ|6F@${_`nOA0EN6x3Q$ zP-|&AWD`w?Y|`o}RR;CKs75k4f+->Hg;uG)^1T&;DAuH3TXk_5eyR^FtBLCWw_&N& zR}Owf5aNluYuurE1R+?wU}uGFi#OR6kg{yC^mv07!m2aERuIBg5W?0H!qyVPHWR`& z6T-F;!nQHOiWp%<7Q$|;Y=of`UcS>2*Gxq_8_X;i;X92cxkfq(fuEZgRD?rh@d?4C88zX9*7`Fwd$-|cF;+ts7+Q~CxXu$!5{ zZX@a4#(@KqBdjL7Z~5%LikGhGwk-;V0W$XZ+7`V74R>Ayal^s&Yc5XAxM0=(Sltj z8{J;y0QVvXxDPqNeabk%{mB6yNe=Kxa)8IM13Zx&;ECh_Pa_9-8au!<$N`>F#sQv9 z5T8f-BV{#(f>!ILP7UNf2K+t-{3!qzqj&jJSphL(VSYHI@U32IHyMv z-y(mv4d3nE1-%I0W+cAZU~RSGJ75_szsGy4h31Zo=0Sw!L4@X^gyx}T&^&_BJdw~m zkxA6ODW#jk73h_%O zFlrh=X;7w<3J=Oy9JOl_#3H}I2I5xkg7yUBt&t#RB^|JV7}kC-bHVa&_?JJ(QqslF zotduCdXM)`3)ZczK+Il7&t3~Xrz;yhXA?(HXB90F(;|r;k-x=;p1SVP-#p%XtWmE| z$}DvwF~W@_VmSkyV>$yj+pagrU69ARb(;;AK})v=Jl+Sa+p(O1)#MDUmIq_q&w%n6 z`*o#^y`igUjC%&Wd>@ zDdv@tiaB*Fy~V8~(3MG-iu1pG){N&)p7Gpi&3LlovWp#;{p`5xXUF9*J1&Pg`hF8D z`kPqMKggo`pe3qrRko<|#*pRYxX0z|bg?0*`na;pd~{N5MLy?Ga?+R2UGO6*{e$pw zY*V7F^z&`fwO9CaUH;z-_?JJ#Qu=$GJG;9=8$I49EFl=cLNJ4bU*OxTWQi-2u{_`9hf1%n zi2UA`#6iY#dsise<9)%pFPQHlEg9p!+Nf|s6Yais*zT)=JM<5a_f_jMFq0C?a%S1Q z#%NbKY`a1?cflZj{}JgI9`En0>%v@jT#t82%-6o(cJa>cf^PiUi*18{Soqhu{7`4~ zLyIXa%P>1lUqL2iwKQXax}z=Z7Y)=0Z5PaN7hK9YMP)+#yIlT%3qK6+->v(Bx6AX2 zn5$W-^NKie8Ozp`AIEMh{~2a$s`o9+v0ydse^>M~Y;NU4f&kAe?skW8gK$_7I5E=P zFfyb~*%L*2z?qtvC!cZ3msl27CK7DLNlgaf}VHAH0@q=ou|t*cAd8r z4?34qoOHRKgYUXc?;p^08|-2Nr5|7+RR~`htRGy??P_WZbGcoEZ6|rP_6?w2gr8gU z!YODkck9LJ^3(#@2?$n*p9*(hux~4QR|jsVVw*0{uowS;<al)E)2iGbYWVm60ITjCrvq3>3*zV_3EPe$~ zUlVI^RdYZc=M<<1rHjKr&4ZG~^v@ghvHB~Q0pRK@yk4IRlHn@-|2+i(GIT)zLp^Pn zSaHa_O_+ZazS_d~od~?+3a%Hy^+x_*Md*+bde|uRq2}~I+YmPD*m)J}_-~!TOjmw; zcVP>yInAN0d?41Gy>z2UIq7G18P`J!6F2WO~ZzQ6dXQ`Tej-BMQs@ct|X17)~PI-V;$pKa+ zM_82{VO4URRmpKyB{#AvxshWkcXLeTZjPy(Bh?_!jb)zuQ6)-#M^wOnhYJi#RPv#C zmj|^53w^sNl3$}j$*+D{sW1}(it3&>!?L)2%;R?H?Ti|%7|tJ8HbGK)OEi$JoJT2< z$?t9>GJkZ3-XdUCbtZJxSLlOS%Fq zT>+M^T`XO@Si1JHbnRp5x|*fyYL>2RS-P%e>AHcX>jsvtyI8vJV(EI4rR&MDIlgWP z{_o&{pp<@MW-kK#t)hS*_h=~JnXEn~KJa6en%wnS4H^#ECMgNf=fkk zsgeJY2o)NkyNtrTFsn4dW|jW!4n0m%i>u`$q!!9FlGLsssjah$so<*ER8SMj9pkBC z+4HgN`PdNcWLewEvR2HpR?M=tpJi=7%i2knwUd^tJr4I=S+a&zBjsywfrKra7Bd@} zt3I|=jEJW-jhYpQJgv8RrCopqqW~>W3Q%IEDoi4(+a%%vcW66F1g1+yNCee zW?_4nh3zr6Jdd%^(U!1I`7{gN^DK1FvkUYNyFl+~7bru1G6&}xW72RBgSX1+;TG8ktdPa+?EXfIi!zQ)QpQ-65jnW|D`9>pe6X$W-$meES8$^U zZZz`05uw9I=ux9E5EfV5Zi_2+b{Fa$=!Dr5h9p99OaZLx^-$-e%JE$W*U_OdsLY<2 z`G|-P*w|F8NLN2IBGNSt@f3HYD~YF=k*-T@4C+I7==UC9NpV96Y32B4A`&o8bfJT! zHcC+u5|BppiA2IIL_*wQpCl5ZBf;aFXNf(;cdGj4I~;39FGjQ1d$jzcb^*r|PaaP* ztCMJEbyAs`)yrs=$!y{mvoF)n3m0ldaI|&jaO|fjFNCtqd|ld4L(p1Cb1+ zgQT6rpq+^~lPX`;oT!m}m2;?n$BgA2Vk}PiAv2T@nW22j4CPbJP`b)*`Dwn@JffR| zeK_!T@R!%{5>8cxIE<=797a_q$3aym4x?%lhf%fl`{<||>-kn__55iA)qyyT>YzDI zd)4DAya2TFe!M^@HAr6oTD|epCF;^k@Hn*k1$I`K>t}>kPvB-K+SV1?MQ#(8j*e6- zU>j~c(F$3J->j!3kt8L@;^)??P(K{B@_Iawr4D6ryNXE?)+MMM=O)*;0EPb?Twrjb z)(Q6b2`5R~*MUjP$l#iKA1+otQ>r0DkyI%%A48t8S6lDp8)c_Ti{P2ed2pGysM7c( zRf0) z3`qo4S_+8QQ?TR7$7(o;wBn#LT5%|8#c`w+$7wlFo5)&lHfh1xy1-q-+;u2G&2zaR z`&#nX)>6=XGX>2zbI^PX1T!jP5S5EvY)| zF3wKbXHY2Q5Ad2J#B?=_shUlRZVl!0EFI5V((wvQ$Lp4Kyvx$@E=$J;EFB-PasPsi z`xj)~xTk63-d?p}W8T6t=AGG? zcV=VWi;a0NHs(Xwm=9%RK0X6)Btwn2jQI>U<}=8cw^obTcrUVy_v$SCN|st}8Sh>2 zHY-b}*Pv8f4;Pq{s7!0)9nD&wfwPw{(={Y)S!@Y)*j!lHt|*b#dNkzM+7hOqxT7%R zE+d?@*3sRMFws6_6YX>E;^8U#YLW%MxvXe!0=Q}m+?FhG-Fak7=TWiP95S9cWIR`p z@m#^ib2S;y)#1hy-H|%mc#dpa>^U+NmsDAxC9jbzU{_%`YmiW^`)Y?t4w@L@0+GijPHh-uCr8&01C z|8y5LCA<7Lc*hZTc{>ZQ%4gx7L&7^p3vX>Ih1+n;FcPwzEMz-b$ab-i?XiUHFbmmX z7P4zu$gX7}yMcx51{ShgSjcW+A-jWx><$*PhgrxTW+8ith3q9u$i9R}svP5(>)Qdi zlt04-E@0fXRLE>0Hx{z`aIx}jW%bMB6Ecj^^@|iTg+g{1&Yu*r1cZ#_2=_UOkR!h( zM**Jd8`?)t;|*PpP51GAsoAJQaqDJiy4Yui{1Oj4XH!^jHih-(kpnxgj03w+JFxB6 zWa5|Ft(mL8yJZ53W@j1Ntmo41mLYjo6G(YLuiws+2R7s940&Ad%?|BK{M=98HXPkk zXlZV-mpn5F4?rs=_HfFFmvg(C+Q)Ob)wkbTzNjbTpuK`ad#`Y4@0DVbcUb{X}{;Qkr9f4a&dWuL_cqOI2JsENJtb2Bxw9k*JkbyZ9B zacJpvs1>B#)C#TKx~t87u|KqWLlCFhM#@fYBW0(&?0tCI`^YC{r}9bJse`2K)Im~q z>K0OV>Xxy1-p1-)?J7Vkuf_vS)LD9`>a2dJBh~X0@fAWVk7I`+>a9!h0JQQTM*_bG z=vI!tBo$`jQo{08SPglgboF6H^O#3V<}ovT6CGi6znU)yn#|0JSCb9b!8zXjS;n!< z;eXARhs~`O4#FHDd>6TV$As^g5ojoaXN};;#?D`rGJ31*3oUXC!YaI$MCb1*tH}xg zF`CX_Mw-k?E3=%_h`?V-1pZ1U@Ndq+rv=X!%#cOP&>#_JIPQx$xyqGp?04|THgRzRHhP^A6JOw>SIcEa7DOA9+?#t z*CUd+CMLKKUPJ^FJYXR@i}mMFVs}G{-Hjl8k0^uh(Hh^`m+K_{?8`SIH2cig31fZc zYZmFuCG6+wgt0!`b%t1?~i^912>!FrbHguPvSk z+J)G{1TM?ihb&{CvReO?W$jCrwJ%xLzGYeaR?Awp{I`zSLaQILfvQfjr>bk&%To1Q z<8`3b5714u%D~UiF2S~*>d73dr{-84)DX?Fpp~bn<2b$iwVN6@pBWV93|Efu=J*bx zlZJ)-MkN~78Ev0Sjkf$1v0FYR}*(9PCbrGC=u7s!!@ZKJ70!R9;Mxur;ZCozr z)Z{E`tXb5d_(IPJ^K;>AEPOwUz{jrO4iVg8NjQ5i1{-D>fU7PYMf*C}7d$@n)fchSUf^Q2v( zuS5N`7tWcK=mdgDVU)PPjS_$E4t+$t;&XV%5h8j6i>TVcBHE95ML$|Jv6{H-YUZ** z7NH=EP%(>8F^kZC7NPwtLWfy|4zmbd$0Bqci_l3Hp_42^zh)8oHH*+wEJ9CNBJ?MC zg31!1lPE$M$ryKmMJQTK)&tl1&qN6M^Uz2UI)x&HJJ}^gC;<^7DftV$#t137)sm8J zBqdq2oXDVoto$(VD%ybt*d91qt49NMEUS#lV)Tvm1BVpI0 zB3e>WxPj(|BNiDzZR+z_WROHc`AG1++R*nZR57wKj*r}-_dLG)EhOkg22g*S78zW? zX-`d1ZPv9SB+vwA1QH%XB*eYQAc=(NNbvZ6V+}SJk;q!5<49Snv=K~O%dXyLa`iTo ztGAt8z3tX2L&auMl{JfnY!(Z(l}eX;*bMHs%-{`d25(?9cpIC++q4;MCC});LpurW ztW!S3X7M35i)Yy^o@KLmj?LmZHjB@(S$vMo;@fN%-)5>xX@gDV7i1RYKgcY~f5_`N z#Dg)5%HpnP5ytJ{0{s%@t`*r`&LaxhgZ(lNcG3!W0*#k|`|9z%ZVfgr^)vT_FFHyG za5|03LC@4Vj)FVmXwqmRO&U!sGifwMPa1Wft*42)&n7FqgkrZ#^fXcD^MW`}$P+wO9Y&YFRCHBBS!x2BPfEXNK`d1N)U$Mp=0Qy$kmAw$wefY2^s zSNTrn1b0Sqg0}KO%?Y5L?#5^BB`I9gRX()}Po6G+%Ov3iizK|uB;j2q2_G>@_-Kkg zLvQ(4ZT&OlU-j)c<=>bk{Eb<{kIWK&WR~y?vxHxWB`7Dc1mz@_pz07yP<1A|%|kdt z)KuR=d(~8@`gc(6Gw@cSor`Tf)t9~NzM4j~P$M;sfL311G-44*Z)MSlH&6~Y!UYm8 zDFRhh!&lu!n<+whFP}zK;Nuf@xErU4dU{XTsRQg1Ak5lu=D4WCxa90mtl6Qy_(Jax z=AVSGuJC;?0`Iwkn?!Jvk^ij-9Wg?`F$#lWvqRDr63B2Dwj&y{0)`}lhWs7?uOkKj zMj8U!C=d-9`TvrJ^fx1D$onV}anq0_o}$x`u(^pIwn)LB+@W_pz7H)VXpZtHL;`Y@ z;TISQ=fzR_Mk3*3L_*vgC5eRSNbvanVhuJ&3i=GwYXkZWTZ4?E&jk83L4R^yMug=u zO<0^W=+g|MFIN(Mxv~s>nL{}*%evqRvzM*HruPO-W_oW}i=Ui3h|KJ`tQrKQc)by-zxx-@=n>n*0Qhq^p_4!eEW2 ziG9bZTzQY~^DmXFnqnWPT2Dkwt=G|-&T5CIcF=16m8o{|ZST^z?NnSgS8>@~#bt99 zm(5jNHdk@kT*YN`6_w5Hs_y8F*M(Lm45g|^_2)+F(GmJl^VD;5@m>e1=j4ajbD(-h zFR_GH`tZO=^|5Ad&~C?`!__zPq<*T;)i?Am2CAR*Q$V{$BWRdewHG=elrLt7(KM=gH!vzv9#ihY(W4yc~0n;1)Gw|XBTAxVp z{u9BQ3+GJg(F8(wgwLnoHAd*ZpDldOpv;r>g)7nKH_M^IwJ95+I0>wa+1Ojt+U?`1 z(a?2D|3vHyt=^@_DMK913UM^6n4?+69L+kw(X0a$&5}oW&g%$8v*gV@=XEpBc|FAG zSr1w1Ss%ayRE}uO_x*yRfomjtUtqV;PCb+xE>XUGsF8ly-$p1e^ok4dLz2uP7IVmi z7i!)h%(sNkEqtGgz^krct_bED`JakVu@Sn*DBK#R-J9C9`*ZHllVowrFWZyhy)2CU zk*wjaGd5YPRi&1g(o`)trWOeJZ&ZPCR`dDj)MIKY9Gyx>FZ1X`FCDzvOmdk@a@lC1 z%&)4q|H`4f<(zOg3WYO0mjrkfSDxNPBD+cZtj_HdNr0ykjh7F=T~>}jP4R=Gp3gL76WLExwgIlxZUg9)HOus$k)#_;n#cG?ocZ zN`!%=If5i^JD3DXECsUb5t|*{5Npa(UuYDgQZK!xd>j$MR3Xjjx!Xnv$mI=wY}`D9b#wg5Ibwv zu(NgzJ8LJ{Sv$eb+D+`N-Neq?z3i;r%g)*}?5sUwIcr!JvvMqRj=wFc*k9lR3Fjl0 zs#tBKZM6VF&$dSq+5;Dg%Lb1~>e*O&_7c>yHwp7y;j1Bhe-(i@UBT5NxZ247T!i)+ zq5F+O8K!4@+4Stk?gDo#aqI3~9cHpUe%K<5Y%|n2n&Qtu;GmvOI1M07&!U4Fzn)Ek zB$l4ty(nDI?h@|ex+!}fi#725y%}KxPhL1~UlhUBdRTa1_1kd62GpR z|9P9GNByiv{j5g|S&tU79^J!wbPwy%gRDmnvL3yL_2@OMN3Ul+dc9Ts7^B9OqbH~P zdm`N5feVaJl#1FEWA%xp^JAbSdn5jFVkN00FNnWg{F@T|2OGMIu5j;Kk+QdEEc_3H zjk`;W`FQ;OEucg3VnnucGr7{6HEf+3nO_DV+sguEv;`0-N;Tg<22Bsnrz9NyEv4wTG+!`0uvOi8L_v}{ zbFqk5etVnpc+(wvDHb-eBf=V!ED-3h#$*J+^8kW``G-Zf*>qsB{t8UTNdILBjVqv6 zT%05cjabmw^_fj`>~$Aiow8>{EOZR>b}XYgUV=f1FfB7I&`dzh0lSBh=D2{)eWd2N z^1L)h(q)SUkNg%k&GC{u^h_*lbdS&+CHshJ%>k*c7v51{h@&2NKr}h(u||E@(>A5B z&0Vx1WlyVE1K&R)AiC6&e(=cW`}KxB$Qybk>av#48}zn1anGJ4aS$B`vBtSegn+NH z##syaT1&ta-ecXO20#ecCk0$UJ>LWudd3>q-Vp+vXAP_tVB8o(6aT)IC%{{AoZ}W? zs;2FtLdUT5a3Tal=tC33?RLmd4aXn{Foc>8h;mhP)G-_>j#T_j7BXvAR#|$Fe~$&9X&lL3KU+r}*Dugbo~}XQ%*)iDcJMrlkLOu@dcHbU?&r+0 z{Z{7KuPYIOdl7+8zy%U^VQmQH;K%Ra#N`J+s*kiy&cH%Kp(e)**<>IjI%G>VV(=H6 z9sHF$v^Ex=yPMyJ;h6&Lcf*K8L_w~$U_O#y-gcf&@n}15CIY+bMqTl$>&6v0UD;Kd zJ-A(g3;5Ec-&*Baz^gn9R$~XJ+>^_#UggFTvx` z>hrXhk7nR!Xmv@6*78|hyd2ugxrD~^Ttegd@EjHVPAmC4z5WndJ?E4z-{mZoKhW%I ziu_8~tEeNt;))sH^K9$)dbYKNGTPyZpq+%RQ&pweR#lZ|TU8C3ZB;dBwpG=k*;ZAD zw18?rT0k|RtQFOUCcRV}n)Fh=xgJLEv3UMwYM8Ev0j)fW2imF$T5Ui(lj~z(rGd&Z zTsi*3D61G*@1H1jhJ9*d)yFsh*C}6%fU$#pyw9W7#h7I7i{&Vk!=>^&+cd{J?$B!$ zR3VYKmei=v@-2+iA0}=J9HBp;&NZ!LtRhv8|2T}EuDg}+Qm=?OifzRrz~lsiHVC&9 z7bi->B)Wki8xnn)F|wgP-pOGY@c2*hU@NR?;lBw78*5r5988HAY}*Py80=ecu>Hxw z2DB%T>QT{P<0{DB5rYktg=y-YYg+W3-4m_T#@Vt6sX@1;ni_Ols!LIH+d!W-tinEN zo4GXRcFHo{&aA-4tiWd##|*L+4@O$?Hgd1F;?Q1>XH1ue*oq&qtoSW##cyFNeivKu zyEtd+4ChFl;T)-lI7jLsvfA=7&XIbIx%)Zh?&mny^mR^Ed0kuW4Ee`7)!;_tb@Gq$ z7QCf;@;gpm`A*yM=JFS9$Dx(SutNuxqANT=JBRIfdjN4|+3`D2O0wYs30E-a72A$a zgzHpj$4}$kJQuIbCY{#k3cAz-$j`Ld@%P=K-&JJCPnX#79^QAtbh!2d%+4?_5qA6@ z0IXh3au!wly{Ou;erCd9vIx~4X~*wFn8aWJoD3wsvL0d!k{u!p|J^p8T+|BVg?!U!xcfd%DO4Q3Q z)##-|9;w!!$E)p2j{AjR>`lwvbZUTirESDtwj>>PsL%Dk0%Pz$v?n|GXs_Xj$Gv7L zDe2KAoeX*O5!YKiM2t98h9yG|>x>ld_dF+FvHQQf-*XskZf&E@uew9eRYaS^_tO5% zCRIWm-vw+%uMy=wE8;bN zV!cM*Ik($FJ!{i#;bIKUI9F07(3Q0NZJrLz^vTg&+n{g&nF!1`GliAUvaeOD;@3WEdQzJY@pS<=Q`yt9R2x) z=WLujXXB*kk4oV=n-re2sl{_PwRp~^DbLw7vA9!Q@{`;*HoDafGZ#Z_=HhF2=r3e0qQ=O> zcl7mzN6IP6Qnu=&|4U15u{^l{D`aT@fYGbe{Y?QTUn3qvNtj#+I$psZu-<7lTlY6> zuwfh09RJ^Ou)l{fsMMV}VX&e4qfq(D!LGc)MvFW&VzB>Z4L0wl*`H=hHqVyDXp*yN zwj^t*E&-lJvn5#@v}MhfyRF?ccbDv@xsPq-zDQfyPF|~RCA8Xfb&$7c(+2G<|tKWkgrQl)5H2`%iV>Hi7giPIDb2cRn2)eGbRs!X283`Ei+jcyw&@|ME4 zB@Lfs@B|D?8gMota1p9LoJ~lW4wc59^xCS3uv4H44tdOn6Kne~v&L&*wsiTP5gg^}(?6_wWl7oHzgN=4BV(KVR+Zt@n3dowJz00gw z+LWc`k~7&(2G~diw9QDD1#FadSw`s?8>M4xlx}3BbfY#(t>kI_cW5V}RddRF*+|{X zM(QjZrL%05o?@f)6dR@2*eJcmM(GnaN}rHXlHZb1lHZo>Wr;g1Rnp{qAQi#dqOz?X zrRu8QaGi=K=L2=|ZtjL&ak-62(TOfP6`01bjX-;OZw>Pb$TO@5uiifY9%x|6)y=3x zvC`uIh{e1Zk&v{Q39eo91fY~+m<>$F;rpMkfh}%Q9UJW~ujkL#^InlBtsv{I9Av#! zcXZ0rxn$l>Yx|iYAMS>qp|$pk{0%#Tzln4N+sfZ+8w;(qSL7So#&wl%tRheF9X7h} zSw{B@Ho9N1(fu16-M?9TMgF2)zD)Uxz8$A>lGRmC4x?7%Flse&4OJ};qt+rTtm<(X zwH}92Tap!4Ey)V29%O}84{e28sKMF_LtC;HBu-ydmKAP`;<6ep@ISE?Bx=jN1w) zkq{jTvHaHl5q>KyKMu3mm*8Nd%}%%&a>QUq`mH^2u;aGb$-zGV!A8HeZ^U5tu?8C~ zyxv86()^)lBuCGOWNozZ6IS%c&m&gI1N3<_eclY8;dpQ9)g~QUJ-yjm7W3y~-tlm+ z4AG8w@>ow~2Yux+>7_04KY6qC;>oh*Jvx^j+RgacDIa87@F3HIvrG%lYCGId zK9`OCpxusbfB7cwlK3X?k|;mqT@vMoyi20|lE3n${z|6&k+vI@Kk_b#PR%qfQO=dT zOJY@G8mekI)1dwN3ROM5Bj6NOPu1m(6I=4ei7iVvPVCAXCw8?qPV8%KoY>deIB^hB z5;fG?IB`^V@q&l@eiFMSA&;p(%JjTJwmcQsP|eHi`;TDhP0Yc!4J zcw~@i$S-+oO4CDc*z~9>)@F*0c{9bvrJE_X=gkz`(`JeT%`CdUnME5tPA~^ryDJVX z*b$nF&g248)S}6G`(5FBa*XSiX*=` zIr5b^^2phS*hbzHm|zVt>|;4SFcF6s%UdM8SDqf?()v9CEEpPpwTerVYtEytIS(uB zlnpP`yj_?d2w$r3{Y?aZ?+R`Z!3{?K*CKSa5qiWZ^p_fv;JbPqSG1vh95jOa9aq#1g(hN$fiCAg^_eC+U7v`J7=MuiZ zh``IP;4%?hX5@b?LPbXC*GA!0Hq`*DUO(0|XzGtJ-Zs7%6I0%0VXVRvfU2w|!5@t6 z_nM<)=Dp^~hY?y%S;(RBLQay}H<6C-n~H4%d4}hg&+z>6vlQ8u&yLLrEJ8?PuHS$} z70|dSi|oQ6nS+pwJJ&A>$>{pXhOv*_q0b3pxbd$IW8~gMS|!Q?F11aUco*A{wjAK1 z(_=U@Fm>%pL{Ou()~>1>Xt%8m;b9jpSoa9rLgo16(*wB((ihNMk9&Ufyu;+Y^A2xCGD1yu-#ig6BF5 zo*N0C8^hsAsxZJRGQcXbh*e~fR*_D*m*Q-4FU8s9A&RrfLlkF|$2f)O7{%G-2~OcT zkuyE84$+BK+ecpz6>8~BcJ==RC$4X}Ay>M%8P`l znsA*8#Y2}u-U+>u8a{!FOr_$H-_^!J-gAdOBH8#5-my(KNWDj2A&k+pzTPD^sgRa> z-;OidPz;%Tr3<(}PSk*z7xib-S4uE3siMKgfLV6LUa9YEtrmmO31D@;Kc` zvBpzc<292{=&2)U<*A%NK4Js+Ku9<_CXPCg)naKFET^n|@oJbMNoPB%vrS6my+|bz z-N0%WMm||mIjX03woR4nve1>s1~!M7Vh-=ccGY+UoAW9L*HH%7QF&^5pcui0doo>` zD4o;bilB2C4XDswK{02cW+u^eq3B%kDjS`9$-S#-%AV&4ZO{B?XdCRk#D=y57TPAF z;W~);!R(xbCy+~nd{LJWK|SR2$j(XXomjqWen%U#dCMJog<$f2BupwYcF1h{d*|8! za*YKL%;2fxTYcKxHIR2QVZW0J`{PX5AGZiQ>W#`G?8gwX-@pYfAYs>tjhvf= z3cTmBElCow(Gg3aeD{1nNoi(wP~KpH5_TJz6*!3)_%oa{;W%)kGHEXmq&S5mzZp&+ zmlrlL$&sRRq?%P~HSoRK(D!Q7zz~t|D>ZC`U4f_E!R{%c9|#<;MS>%YMjfi-sP2#j zDfsg~WKiMp;4xu(YjWUb95swB&oJDOlf(h2S%$kk1)#1l9HocngdZLN?22}%C_M}@ zs}!Ra>=z_|G1Rx7z-<-)R}e{a4jiXh*}%!zG#oM?R-!q?5UGTtg~JIOUO0x~A4U$J zqPtC?$}tmkWG-zom+_rWWqhZv)_rE@QnRM27m_e~&!hO@yzuxSc1T~W>0z^_(!`G` zo5>g1%*y!&R?auDaz4Y#`HWr}&|E&g-VNV^R^FNuxE%!vm1)AIrYov#3nFy~4i2W0 z#U)b1k|GsVq{0Flwhf$uUEBq2NopELt7<2ITjG55j&MGH4Pel-D4fSt;r6w?EDqZDAYG~p5=S_&*D3Sf`*e&gS`HVOOa9HJEV#oJ2F2yA)% zJNK?mDSO_I5BWnQ9H9p+ZniABRjS;>CXE#eP=3r&;x$X4U%ytKKJI>iR*%7)F5-o_C4iXg!ROi#x!Rgj{sU zRW#d&PSZfIou8hyz{D|}+PQiktA@G5Xi9H4PucBeg?NA!;sI8OM_C~rWrcX072kfw2V+^gwESC%S(5@W)m=kymvHLY#;6eupY%Uisvabr)sW9fGD=nMQD@i31 zm?I(T{d;(gQKms6Q!z?OcVw{OX$$w8q~dCXSM$Q!tHT)sN8NNH4PByvTy{It$M0EI4no;JmE`r=$ExZ*T>zF5=Wc ze#?UN?PNT0d-=1J)-R9Z73!%}5-pXg33F@JbTM{-RvyO=ZB%=$_Mz1Q*({Zng~y>? z#k)~Vg11^ZvX~oq2G#p~xIn^1^xkR$mpqL0#atczc*M7?*G+H)D=& zeM$*W{?YI-UvRX$AXiJSIUe4zO>)DW=7Rbq?y`K`?lkxD4GMFbJ%JYixtjieMkJ`~ zmafQ!x^B_p?kmUPAbHg$pEHc~VQKw44uum}Ac+fXl89x>)uZr@q$DO_ zCQBu8PnU4lW7i^g@$Xai?IdBu5&sW_ak$U03F8|e1zH&ICSh!tn}^cYJXao>6?hZI zQ@#xsN_e3b?2GMjz;vH23HvRC3szQ5!sUX%W%rg6xC9%zitcw8cSza$EwL`#^3?{H zio6Ysh7a>jw*lo{3n-kh-%uXkfC{p?JT4C+WYXo0Os#IVsMTp!zNeX5Jz*)^CrH^k z$ZvvU64qE3RTlOW}+YLIeP zH7w=a5nfH@DCb#$_YmU!>D{{=T`=^=?{KWUTsvNU zE|*{8Vds@J3wb5YLe8OC$T?+ZA?Is*o3@JQ9XHUt;|7{{+(Pq?TlAS*%b>0T0__#- z(S_Kf3q^W#P2|78>QE9|_RAXX2sxh%1)tp$5YEF?@l|ca{l|hkMHJHOigLSy5 zu^Oj2547?SUTCD6F%e$@v_yi2s706J0chnx4jAFYXyve;>YIcpytD95M^P=q+85@F zc+Eq9Jq^nf>GFA_eodGqUk9qyYq;y-r20h;;7~9hVlD7+Ir*yIJ`SC%p$EE8Q|#2a=1VR+#KSVk%IDMQcy|-rFdcqyAHtA z>m%->pHueSPO{SGKa-Vy-mh%3QnJ^>17r#7EaMs3WwB>uE#)>KIcB9}mft2^xdmQx zhn|l`Q+t~ahL1@Q)EDV5-Vv)|KjIku%5aQh@Y(tg=t$a8q2xt)UZ*Y->J?)A% z{$fK>9j;Tpp->}(aAQIR;vM^BrOD{-Q<$3C6RxI$1KkC^D7Q6&OF`mat%_JnEL!u%(f_Ye@>_tI> zub1AtD7cX;K7avs0G0>J&)B*$-zGV!A8{eQ)MdN5iQsnM?dc5_GCCU`sj!80k4e@baNMUB-I~1x&7r5KG4UW z+#YOi0R)oUF&NiU9$|nSk#|fFc0hn&-gm;;8X6#Be4rB|;tDu(a%%5_Ov4lx*n$s# zaPP`a+4E_9pcrn?`wn)sKmmE*Il)ZCzyw~$8|AV=iw(}VL6An4sEoG`Be5{8Hch={no z`y?WwEC14XPjOgr5J)Zfy?a;pls$ip4-~^9y!#vr6xzFAf*3$PkTBQOp zZa$ENM07}0WFn9c4D#Cfz)EYdH6K`ogN=M(RH6hwVz49mz#1IvxcNYGu+M+6(SaWj zG1wcd!A3rSI|~k*t@oenI~z9tGxx*irTTNfrP7PpBiS2zQnMKw=N8I9*}^GriWf4f zHOMV8WfAY+bNZ6xyOsUQ1i_$!klt=##h626FN?+IB8op5~;xyLm%C z`ItOX4K5`=kdLX0@S;xnEU(FVR;TA?%h&Y-K&un`obqkX%X^!v2E5NJbl#^tJoyo? z(D{g0==_E9@Z?`~9$u>au`^z$k^FH4=28q-Rb)ut!YlCG=e*CIs;lcsj#PC^_PJBd zX`egQTvg=^RZOd@oLrh&!HpAFQVk zSMYvplJLbMd~0oluer6^h}j$7u`O$eOn&qLE~*6i2jqdhef8jXon$PW4o`3^U|Xly zz7DnFg4@svVCq-GVO+g_BGS=fMjll`|A>(fStCDzwEqnJRC~|{$P{siL9zhWGB}*VQO{vuou~Ht zqyGL-`LXUZRKcHhpQhBOPidbK+-F4eKKlBjx9Zc3mWTN?jp;N!OHPwMR{C_GvGNw~ z(~9~)DJr-!-cHjA@&?^!f;`84T2P-MC4EvS%R{=)WO)boNuxd;^+&v&np4;5E>mTY zyVRjBtxLM3(h{SZ3p&7p4M*d})k;;bd@@+zaO4cI4mB{`hNGqv=$=)5v8v&&;t)>Q z{zE?CFf!ow)mq_jxIlY9S|l9i7Kd>u9Q1t;2l2cQ0SwHy9L6{}=s(Q|ADmF$!G6@! zw;Ar%cnBUre&R5?;#HohP*mYN{p2DfN_^JfH*!i0Iqv4$-{AVr-)D-#0 zocVtj1YQ=bQm;8+eETV%LvI2zy!vc08L!(G*}&Y4%I zv*4Xj(bXur#f{B(Y%R51`YXsePO6xhWWYS-6p)Rx_sHfmu>ieHUhgv-~(51 zln9P8@~<@VzY;qKx^|utJ5L#*2aSTUqTqn5;3rY=lTmcDQM}36Gh6;SxXacP|>f&bXFc-!j0*1YE{A-a5R$+FH`TqwRQB$#uKi zjziWqqek0M>$(aCl8=Lqs3Oi9xp_@M8rK{0Q^UN%@GUfgU5%apGzwlfik2J2Eo%)B z4)5PZpoiG$5Cw~%1~9&y$$9_xUk<*OwTArIFsB>7`9`pdvGX5B!K+5mQlq$et%2}b zz7v5gk^i$OSO7|>7!;1Y12j%M!;Kmtj}M`KwGN?6I7>bW&NKXyE1&I<;cbOq!vtyY zl?(^0LU-8}RZYX~bkuj|=~Gq{bwy7@USD6JC24%|QhB}k6P%zed>;TPp?)^wu?8xt zZq7Wp+cC*-K%rdgxD$?#(Rz<1tp*+eL<$$EDY#MjWeG_2NrZFFMUE<{@+|rfOAt|w z!;db|{VxvrnE~q)9aYfgl=iWLxAlcoMlFy|d7GhD0>*?F7S+OI!Xm}XwbR^ip}cuV za5tQFWkt`C8~z-14fm*$yWVEF)z^{NhsOrx&Pp6o4&<%;+=C6 zyGwJ6;T?`c<&=BmDZJ6TX&L&3r;Wj;UK3rgsY#Qu_^C-N9rI}2Y9@Y4@2FW$!){sl zsX=c|eJ&o@L;r2ac5V5G$Q$5AA?LA?4D8Zy_$J+DxIDmJnh-hYtv~8>j@qcZjFS7f zi;d1;my0jW(_JntVLZ*~EdBI1kW{3Nw*(jlQl1L#aX9Anvkp~ADt^bL0tt@s=p?YZ zukw+T`p8T;@`J;;1fEcRrH`aWr38OxO7NNPlLp@^LnP$q+~-Z`<9xJ5BccucgxOqp z>j_`F@OKx1Oc89C8r%zLm2H~>dL?GdcfAqFH}dBip|0}fAVk%MkBBi6?QEu}RHe7I znV!Zas=lkuG(fR#Ha&Ke0YcImWdY?n%v7n&lH+#M1ImK?>)>sPi2=sM$HBzln2~W= zY<|I{2m}2(3+N}HOME~-`u`N@2;rJ( z9k8jNHV7Z4dJ|%Jb(_dTi0q5gtpNaJPY7P)a4e2xYtdgvK4q?V7-PVc`u>biey9OJ z8N7P!Z-ZA4M$xaKoG$Mcs)O*}UA?9d@@})GVO}LtgU8^-OoG?AgN@?m;I(jM4jicn z)(xF`DJ6ul)Z?vQ#@8$BnKmwQ^}wADlZR4cr+Nvs)}`JM>W%3^;HzUQwsnT1S-5PN zARBDETG(U*fKn<0DV7X)uW;4JcPR9wCe5*iA*vkw$CuK0_fB`g;FxRStsjSXycOOt zc=+rH;1P)ncCAC?2<(+6DfdGb=8r(1_%MGxoU%gYzPw!J4z6Sjx(s`~MABv0Nv}M* zoM(84Ak1r|TJINN-rlU~a7?cl=HOJg);LiWrv^{J^NfS1U&B!CqBSs9s3;$*PDiSX z=)1mJzgSQbZhf`&y7$n_t-CD;4cvQeYVZcQw_LarP{4XX=}2DK5mI61dK%84HJl;n z63=k58;3O={{QO6p?a$_jr_F*=&zlGm$IUw8=h4z09VEYAW+Uo0Cq1QfU^v5L-N;l zlfPCob)|NIQl$w>5 z1xPf_+?{kQ3DG;oU~G(Sj9ZKgMJ{pg#Bqz0I8I!XIB|*N8vFm=o7vqPNp~j_JN7Ss zf1keH+o##t*`3$swTWhmbQFqYN1;F?*Py^0pKnAwWH-%IXh!h(BMp{x1n%gvtDP?p zg%09$MBL9Gz8T*!6W~N%xB7gG%7>E0TI*ep9YZlbO&rybQ3y#WK0$I3k+dt8 z3r`6j$FE7cfe2|togTgoLGhFW6HzO>%UWX@EWUQ(4gyz=Kwt>`jRo?!csSfNQufPc zE)F*^WPc48jw+KY`vd9xj7jl?{=fMQy}X&)9Md^`R# zCK4};io|F~izm1-Ft;QY508$;L3F6p@!|d};^7OEd<~L)^%5O}8KNH1X{~Csi7Fbo z{2aSeuevxv;086tVFEWu9YUuTsq^X7s@`xqHEhtBPOTdcoDseQ-?lk^95mNqxe;xH ztOQu5Og!f6j&>HB$ZNn^ zyi`4?+Yj|1dYxvfL}0h!BA;t(k8f>> z8U%CqQmngjy=5!_>IqR+6XNIfO@96hpKpHo_<1DvhT@Y*Gw7yehc3Elk)L0p`FU$g z{x&6ikAqXlCD;l2Z}9U7zHRdJ+aR$s;i=_fpUKbP^oLJsWNhs!$pj%}bRf)+$INu3 zTND&*VDNlTZ!vlPN{>54^87LUj4NV$r@;4bK11>RQ4Tu~<%I8zhpmgFa`TOGnK>=F zN;oYrTrb)xYy$*G5^JhaQ|usyRk?l(x~$Sng=SvZwl)8^gLs7zwuAUcBW!J@j&$Zr zzO(cEx_GD6nSA`DJR4ZgonrA&?xmY}O}Dv7_0rhw<-(qexR;(Abql|0(bR2GrO!fc z(T5ZkdQPc6stjsH6jWoVgEJ_WgdM)m=bIUugq#S7(j;_`CZYNGOeo%iL=|BgWG+{H zJ+9-kb(q5^PL#xj2)tKENo3%?38xCRI|9k?k5=G@MuGRO;H*Zu%dFflsyDYF@P6*H z&~yl$w8E7y2+u~l!2S45Cn7y$YXX(c!Ve&5HiDur4N62QM59od;A&h3~d^QRKesD;#-&FG&ZzP z)MoU`%CySjgp>sjRC6s@9Ovj*aRcam(UvWgzt!~$4Fdfjco0HgL3nmjN6VMD(aJ~8 zdp(VRw8(YHqD)r$qrZS+mwh340773tcxF;3e1Y{=eie&&$aHb*dOBx_I~*bQKjcWJ&$tHUVH;>DnL*hEIVRdd)sX%71@&DYA{uqyhkv&hv= z%3`s9&@2{tP}%J9!k%jN+0zZ8D}%=>hjJg0Usf-~U7M8Pu4jF|#Xm52J**k&ASc}H z!SZs~Jyu>L&0Y6|7DDI|E8OLRa6Y=!iV-D@FD(6*oSmm730M~ychSQpJ5>55y;vDIfQ(LnN zI;)*{jqX~|PO|mjs*YSk` zu6r$}duI0%Sd{|%=*#AcS$)Oxd^v#C$XbIPd5LOd-|!>YexL&>Q-Y#@f^EI;Xr1wC zd|pCv2W{(Z>kt1DC*umF6vx)9mhlvy9$leB4fc+N?9T2&${&6ddm-0{V>?w4N_KT1 z;{NbsX!4Ec$2DAK5`Ed4(#)k3xNxLQFCtMUyKsX7Wn$Uz0NQlQq)fCyd5TOeSCM%D zLMf2D2J&8m{9#GB+OTI@1^=+b1N3T_iA^zQqJrrL{OP=#BHH^PbP?pPg1lECe@Idn ze76}^!6#bHIjJq)ryMosEY58C)SSoT5&I8n@g|B|qDgzMBJK1BsN|5ySkau5`jE8$ zLKHSnk@k{y;vKqcbvrqYz;ipUq05Yp;%z#ocM*T&PP@qQiQG$f@sK8M72sxJ&@>yz zJ<^`nYc1Wgw3qlZb(!8bo4e>M-sek2+RaLl_R{i^_9vRO-)7RTo)UgSleDn48sQH= zsp+$mD|ws7GleIk=6OQHrQx^!qt&gm{3xtm9y zA3|s*qVqR+oTXa?l|4#Jb6paRinekH5$1ua)k zib9mDPsJm(%;<78H?CYIAzDJNVy;}YB}E|wrxS8luBpne*X&JKDfN4kx?ZP|!zodU zv3n>jwzlp_vC_7XNC>)z{NbnZBamGhZBuMQ>{AZ2G^PlCO<_=InTQDZ@Q0tlzDTb` zwAFegK}fH3AZ)9)6I3l&@0~*24xcvO=fnHy6o}rLym}3u=IpJsH zVbQ{8)f+^U|~{2#e=e(!QBwj7n=()o`ZIq|!vx9B!p z?B}<}&ciMVgvc{_4MPWXj*IK3b$PNNDM2dBx$UVp{% zAjqMjO>0N+K#tm2Qa&CS8LFO8e1+EJ`=*3n#FwO~4NN6ctWT-(@xnGFW@dO%pZ@SU zJ&_&Vi6jV3qyyoYiwW_Vo*9wp#n~b1aR*aYIUgX(!X-urid_|m0+f2ciZ{1t-SxXZ zStIF!;s)YO?ugQpJ2Lv@<^zW7A%QMS_Wi=D`)x%a+ zGucD021~{EWVB@EG_$36hq_qUW(g7eiZ6LQma~n#6Jj}F{~|J$}dKCrOUZv=h12L1TF$0 z_Dv9H_>qXH(jro!8t=|@`FeIA{(oS$xQDJ+r}yXU zymZywj0{!}7A|XzZgbqrt9nwhFI7Ag!R0FghNi;2k>N*%ss_Gc$-X%goEA}V=b8je zY~w^8ECR+3$3Rt5kI#Of>E$|q_+^{{(iAY3kTr$g<X;$e79( zu|V$P_Je!aM!>tfaNe%gvFJ|znPkcGDNqp7umn~#D$|i;yqV<5f^SQ zATV`O_m6oZUO%#t3vX(`k=%8AWIG+*h5TC(%7DBguv10)%Q4g8*Vd*_uxgJnd1Gb!pC=FH%zu6Il(LErw1tpY2zE=ze+&vUq39Oa z5`?W!!}dC`V?OMB0d|i~8jq9rD{Iq7+Jf;(4s%5Dxnsfj3W>9P7L3=Blw+DJ=SLMV z=q8OLUoI{!Ur0xeq7biyU>|yqWWRWsC5T_Vt0jnGbl^6%MK1eBBEv)bhhLBD8bOBZ zMDDNksmT3*5br#F0S9ZSIQ`@*9HieI0_)Ln@f-X^ta><(3lR#xfw0)RhvOHfynZx_ z)-K!edVVqcMu10Zq~ldSWd*8K46L*QEB)c$;^0h=0YQjiJ01hpQQ|lZN`~8`EyXh% za@c;z;(jK_({&89XTa=-V)6rep2p#v6Hdg|j2@;9UoJAD}oh$en8-YunpUX_j?B)tp zQ`ok0;V5j4B(Bf+@sl?=lUJtJ_Psw|i3?2P`c$nK_A~MP0l&Hk%0Grre}WZwSpTR8SXh=PuBt8e&^=%R{U<-xI?-RT1??ctL%8N2uV8!`Rj14!&m z76LDX&L94hMm@(OrXYlR4upi!^qE33C%klCOdNm`dT%d-qY@`;Hp(YGXf* zteo)M@lfFhHFXh>Os?6IxoJ&Kxvy5Ad0lFKb}A+{Yfk_3H|t59uTe|qg^}~6gx}Ga z;D)|4Gh7rK6`YW=(oy!eY9GQxL=GrEj!X{Y8<-gmVsyDrGeeBK|J(}PR?ghg%4}5q zmW-;XEE=ZOcQx8L@#X$7K?rReh(?<*vyO4G(WZhgS_phYW4VNUM=uBJ8_NVNrQA#`4SwF(Bks3I8GT#8z>;8m-v3m~N^m_KEkX%`9=SJpq=BgJL%t z)O?M^VTUM~CH=W1OA=3q|ALu6<>E;)Nt@cYBr50L|51rClBcPns+k2O!iz2A{b zHNZAcYRFcGU;>7r#HkFTh~QYf3nOF2NBXWm@Li1%@|K1?!jS$5iLB(2P~5JO$~)?A z1x8rGQC4W8mD|e7{hO8dxD|fTvhNb%Fr^-)BLho|QLalAQ{03&N#-N8OQyJXNh%tu z!_(zO#42TFKH|ylaOHahB|7t|hj6!IVUhyRMhqNR?*R~00Z z(*{KNL!U1$i*05ohj+Ow6D>3m7O5jH+;s6Cbm3-Es5UO#R3_1IrdhJtPhA&oTD%6k za4bL+VHv_mNZpTF`2!c;8Xm15{OA$=cm{0K@`P(O-H+M+c^4k-eNBtn=Wctma><`u zxY@rq9GxpnpCv*hKpUk%(sm2Uqteyi{B zJ>$1h={|+f-y!cEurnb4FHkrGiYmb7!?1NAYiC5XcnIXq%!=@w?MR^RHs965($5$*f z>vU%&CR9h(kzJXE?bDAifW^WVmcp}AP2+^9=$%d`PH`IP!`yQm6tZ6Tf z@?~dr*;!pK@7{%bm)*s2`uB{!${{y^^&ue!D6KPdh#tfcHHal6SPR`aLiMt66nn&}1C zbnz?o_UUpWH(Vedqw|^tvOk^IW{8KmK_Ej8Bf$Kn;!Zj*TPmCId4+g{&RHwu#r*kJ zvD-0ym3W#iXJ)ZqaekIkeACw{x8ss^vIhTqqx$zo_3xP?(1JS46nWj~JWmv~qNlGx zFYX@o4a7FCkY5XH)_p`xR)}33#j#Qx=*H@4P#h3<(0?|HLjxGHSsW6NQ8)4naRWDA zCXRLHe+h9++(M04isR1h$JOnqF)Mv{ySPJ~qBiN`Bo~HQDjpcYcOMWBh+_KBQgN2C zBS)MSx2f(PRyPN+IR8Ba$rO)`=9>N4d-yF|VT0yJel}QOc`x)AbnrO%nge06jsgpI2Sb;|e zu(LF_?K8pG+jEwR7fqMxCt58<4OY8M2|{YA10fumK67KJa`;o{g{CL_Mu?kZzEMff z={{HgK)o)+JNy>*MJ zM>TMtYqme*!lQi$Q;&bgZEueAoC`Pm_r_!D{q5cMX8*HXy*yfbbDi+8+mE?UxXgu{ zdX%>gG1m!?y6w&HJi#3gt`jiV%qb1`288|uc}u|F0tIcM@F^(Df-NUtTNt)K4?7#c zt_;{S3ijRy`!9!U$G~+x;c#8JehVD=25y`VM?ZmM>)@6|xb=FtttXr~4R`d0yC%Wi z&%nugaNiYh|7&n+0i5XpXCH?L--m~MgOB22Xg(f>KaeVJw0z-Ltj+(hPXEqAa2GsW zQpYO6sxAwp{LHG*l=6u?wdWiB@iVJZOOc;hmHH0<*I1QW^SutCw;(SA>>?;=4TVoY z(Q4Ro9Jb}c_Ge*dJ=nDn_KbwRCt?3sxONm=*BuVmhU<&q$X9UV)o}D9IF=2!RD@d( z!EN2)!~<|gPq=F$-2D`stONIrhx=cFQ}f_VH#qw!JoqlLsvC$^g^5+&mnx1TtNOLI z`4j8(8^o$Q5vxkoi^dn6MdPo^xoFG@|0CX-@dwT4A)Te-~)SOeopJ|m@pwWtT=5gVF;?gsoq1xw!#jMd`F>IMW?MD_DtDxn* z$$pNNX$FCHmM92+j!%zWCa03`d#PV(R#B)_%2XT~9^+QDgaF19e1StGn=vX0S~({O zDd!G^zAid-ZIzr5+dEe>Oa_Z9>o6HqIU`hZRQ$DShN9k0fCw(ASP%WR(waiGHm?%G znaU^&8Z(rp+|OcC4bH1rAD@+Dp>gC(eB+pL0?VU@eThKaxUXTQO;_9unE#yed`igzUxccU5>SZ!{Y6)3QR_gbNRD|h*5 zUirpL$rrD%qvvT_^lDd5b#~%Zq5|!Xv&K)(N2WB4ozav=5TY~(qA4w?xAcfjY88C# z3@^>^T#`bqJ%ZGpa^dDGtDXzTy3G;ZkLE7iTorgJ?51eO7u~1cgt!hY z&Fauu7s2X?JJhP#nNAIBjw9aCCNeoDCH$Sk8#Zfs&2dkwVzUM(?g;$aS46))O(B_MKp0czh+V8g zO<(A|VwBN0H!x+m%SX`~7Qxqhy6{L9Dp0_>(_9h!VIHEEIX1mehS=}0pM&_WpOBB`!&g zFHKTcL?@|35L~B7YNxoVl6?XCC2FpqIq}yNeJ{<0YJG!N?un!c z?qF&>b{eAtoODEk*ein{HqX9}FB5fiDtEgw*@rGPGb6gerQ+8qM2c!|H|eBaOcQqQ zT7_xC4`eyFMPWB?rB^>85_7U{?(7hRX2*f(+1Y{_zRp8dC*xA>o;VMQDAgKq-wg4a za^8n?fe0U4re#GZ!2GxbIJz_el9-FKO4|XrRz*5nSA8SVp$Jx&kZ7aRZ$mBdFt4X- z;Zj1ar%IVDR@YIHe;eyauFffBeenc$lV4wsr*11Z<6OykmaZ&Xi_EMtSf)oD^5@i-Xz(J0|LAG`fjG`rZH%te@2sT@UR2i=^3t|qxqzCX9F8!Oe z5URRx)1&d63pYI!FS>BkLop*#YxAleVkFa4piQwJt=P))6?E1$ysi+Nf7+v0!W`pN zCPQ8x*pF0fjic|V*A{mQh*xYh)R0_p3hd4@S-1@RiLAicr6h2Yp zm$i~?T-S=C8ajinhNLp86tiI%LI~qFq>6Lu{#40D!bEPpZu<77YTuLkO=WE&yOxm! zl2h!e_|7a^QEm1_>xy!TR@qvU-Q^@&&mPmFwO=_!>(i!aMef7Q8{M{Av=W4vw*%44 zdo#z`Pl_#CEBMT9+um|X0!bx84Sm~%o20TLl2qI{ds^maS8R-xHNUht+TxZBI`zcIBuCO4bt9B*+tlGhEGaOeTcIqfr5?(zE+5KP z)+k$pQT9(7WqXzrWgj+C7Ri%Q7S}QwWeGwk>p&P~XN&E;a+(@j8i3DSIXx1Inh_|A zbw0e@P0#pTsUn7%hqfr=^DGf?zF8E(`ENc;;a`P{STZbBq*?7ght*zNPF9OJi}B>K zwV`#v#B&Cn~ zcOP9OrGJY`Jd9yW>8@JC#9yh;e3O_;yK&r6f6Zy%$YvRQPMpRI_Ky&ws%-uis+jTUBVAT!Hp$S41 z;y~#2r_Wp`pSA0Hk1a^{4L#53JrqXTkAR9q1h@X*kJ2;!EMC-_86}1Was7SFs5o%p zX6T3)4Q484Ui4cuI4%i$xxrWGAT$l~Hh^6l^6!JfbSOFiTUNo=Gq61wc1(qx@4)VJ zu(v(z`vn{rk~A4>aXe~m`lD3}A4bX8m3&IB<$lHoG&7@j^CyE3thoeU;I%I9V^9n7 zPeS2bDB1^GR>Ia(ussQOOop9*g558`-nOvsE;ukKX$s=QBi5!rC{0IJ)0&Ps8(sEW?2xOxtX=aQZbwAn|~a~466ee5YUI}msG*JlHvuU506!~|1Xu4gIM zQtZ@Htd>d*XwR2?M;q}fw`n6NpoEs9rF8mQ?ZtL((_Y-J+ZZVZ^r$MG)UN8C1bRrg z8zYC6n{-u8y2fbIhYL+Nj;yGkV%OK=#EqB{xpsqcgv_uZiMA(kJuE5%vlK)=>w~d4 z>fl}+JDiz^#-<4GJZnP5X{gj}*JbycW3z-)FX{bD+FSC^R^W^k+-HThGzz_ItFQ@1Bbe~&CE9CqZNsvw z-T2F~%}CR-w;5?}6b5+*LOXnrcO2|RVE@a?A5k&?gq457Z#Tj(VZ`<@goL*f+oP;( zm&Y>&G%~F0Uddn6Bjv%(IBc}0>GhTwY0%M?T!y3z;M&hypLtfcX;dsfF9E{asMb90 z#hyP{8``dlTkrQregVZgr&6)}Jb>^PDp-s=tLG0S>qBFlrI?EQ4;y_%dS%OnOZ=BuK=bIDTUf>jn0wVS*4vIS{1|=diuvlGt=rvI5FQE*8dHaMqHB~kDv^u=jT2)6Jp^u-|KwUNvM-sVpV_oo}F>WP_ z_)t>j(mkooREeu*;(%^q6po-KRa&ZzQCqs3;FJ=%wL5SHhsGTya-S+{uFAzMWE%`{ z%t>s5YlUBtt;QHW$R@aDc5AFVQ7)1~N@bGbGM8}nW0aqN(M0wNjvk8JAf$99gc4N_ zE>iJs82d2Q3ih)?7cB_ihJ%Xj*1_u8Y{8Sr$hkg&SJfb@ux#oIMTfS$x&^^r5PHW? zi*J@wxHQpJMG&GY2SUsVV^DKd>H5oJ(^Z8McEBSpUExYAVrALag_|p?S}xpNQK7Qv ztxzK(<`6~Wz>#jf()I5_C=YT!gYZ_!@1{1Cm?*Y7=uxJb>nHn0iaVeJ5`x@MA-oy# zyUVS18pg0VZACwd1z2K}uoIdTAr&#E zB6m#q7J%4o(_(p0dj8EY3p|HcrT~+u>i7`=G|B8FmLWmd5tqJ6cw$MV7cv$3iY) zk+2O#!ks$cc_u;F#`>BnF`*_WCR|j%9RX|CA4aDOn_Wt$n$51^ zmTgtbwnK=)HtOKa1XDz3d^J{*LYg90+Fi<9WQtM%c-=u2K2-|9FEu0&S0c1BFUIwI z06p-R(Mp6o@NoJLB$LS80W1xw^8zsN#cC9oU=NhC?$dLNSE6e>+X4!nV7YqaswaqIZ}X9zl(st)#00W8M%0py-02Yv1s+?<|9I7!$Jazr81|I!c@`C`4k_aOIyicN8dqcr&*bIAAB z@{@0mc;x%T7yO%6hbyIQY`}H@)-~ahersBE;CPsD3+1d^*;w$IP9je0pixrJEvYoFdK z?bBPOeR|p2r? zL_J5taeWn`|MYg@rp*-%zaGc!>u}tl1))ulcLMB@kpCVO?uMdgV9Qb1`d8R~G3+RS zU74`^YuLLM_Sb;}55d8!lcpo%`-fGOVwFObNph-#%TYMBX^Q$8RV?;4{NzzZNxttO zRKU)L5s?256z+tgr(nwsu=UTdy$|fLVb==S{Uz+pg8iv*pcoELNy2QK+)u2ci#EDmm=pEOc%=1#4Vs*ISBW0XYPHb%*)xs#OSo2n(>R4w^tD9JZNOTO7!^3B$g zFI`K%bS?Q7YRR`yOTHyq@-5MlFO#F&*JrihFR>|0-0DTQv^Sz#QtSbaB;2MK0VD}; zb|m2~$-b=fkc61pOpAg*ZeVhmNQ62N!kOu_ z#ZC@{a0h&AvTvHW?Y#Kor!LF>|67#a;(iCCwv6=Lh^8owW|qC$?Z*_E6I{3{GDo;@ zT%@>xF~J@XdI<8~0((6a)PusOq3Ao<@;Yp54BMB&j$+vL2<*88_Wl9(Uk}$#qQIEE z)>hF76&MqV4|C+CpYZ_~-e0)i*_hu5xT#wGWblFIVz3*8iXrb!u-8IC9VmPfiv9&# zUWIK9Vf$j(aRzoh1bc?V-rvLiLvZax3XI8XX%!9ALecLC#Tw-miq{9IjzTMJUK=ek zhg^$r74m#`!2()aeLsa9%E>B+GL3U62jPg9#TxO3=*B9He~V+Rq6p;@yE7t9izq2v z2O*e6@+U#;z#K~afllxuI-?W(da_0}i!}GA*n@HGY>jeqD971Duw-Oxd%t6!jj;E7 zUT_R>Auo8Y4sg+a?|(pW4Enu?;^Te(Y?SM@3eDPOVk0I-l!c8U#>R;X z8|R7KALdyK8v~4u6SPV3TF0b#2;aP19sy~O!Vk3qn@1H3m?0W@LbwAB`EQHRsTZW=0)0H(uR<&5c(z;fTt4O+-;5H)^go&}c3(qq1z< z;fz))`6<1X_>_?0>b9yZ(HzVXpzG8QqJY;`9mFx+N2#ceY8Na2!^P~W@DEXiDTa(7 z%4;*+nP)c1jls{#l!t=I3)zTMnZ)7$kva74b{6cP@QPDJIv$kAqU?~3&Q_qO6-=^% z@0KrQ!`PKf++XJA6J{J^tdI?fAsa9H$;!%7!l{L#AS5LmhnH!RiX;6ALK`8^4`JM7BnJvRqMW=8Xa7emFXOO?$CFG;u4El#BMqxi};F|P_-_K{JSvuSMIH{?tAwp^6%N-nM@}Cu@3nk z(ByxOJr1o9flHlMQKlU62G=&F=|3{R9*R$5n@IZi_9R4VZ*2wM9nTRWbCABGn<|`5 zHg#x71gQ&7!#6#Kelk9>j74dvZ5RY08S6mkTcM1-PK8~i#}=|BY5A;6Q)V*0Cwxs> z#u6x6D4R69)P6TS@} zA20mNkmI;>l(QX_DZ9ORFh%rEfPfcti4r{U4?k&HEWsPN)K3tS;0}a7;q;l=9Ii7s zo*XyRp)Yi45N$RQay-F>N3-!D&3fTF6CijOmkAgdw@kqI{Cq`WmqYN59D4$Om&N#9 zqAJw0qteI9xa5KAQc3bar6!uuVjcuJgsgh~jx;;<>W`vR^=7=MWX-k%=&Ev;UUW+7 zGK$1lz3vVUvlzPq--WeUC*fKI?1|;Ay=fGMQ9`TqZj!&!n0_N-y4q|PH{@m9r|KI} zjGG9{43z;Cc#WvxY$IaQSbMXzC4X-Pj#;Oq%%G+j>&g;=-E= ze7ppFliXbIBqw7AX?+s*N)`?$$6G-N^Bssviy0jc=NlMlF=%)zYf&kyxo~rv0DPEk zZwAZMbm0b#$Rm-9Q!g!M6w(Of_J+J;6m|<`gPESlDOh#04+Yp!B29_o_3JvybghV>kYH;*#YK=KWK@Cz33Yv_=8;H0< zm4A61*x#Olq5GFOjmi`i81(E^lw;$Nt<7#G zZX)zei43ar+tcyYNYPp2C_1!^nNdDP=Mx=4`8G3hEY*!=-&B;P%i6^Yn%Q4R=v_R; zjWP~&vI1YLRm^!QI+43&D!$G!ln&1N?HTw&#LY3wQm>FFCo+z zayR7I*WmYzssGH0%8)bTGUT468FFufAsdMq3n0iV_C+a79+|atL|-j&jAnUJ9WLRq zvX1x@T`sGiNvtWWzW6ZFp6T;tH_}$cMv@``%8W={*i@XQn^rWHT&B2kJGE+P$EEm| zb?Q)wd+NzO*XpTuI?m|VhVEJ4Ph3YNS9_qtx_E6d3%?)fTqvDbU~pl+@+FGML>;kk z5s}>4zaz;-8V+zJ!Schx)V9Dtl|>TIX(Uu(zIP(CNN}m(tR@`7^0G+ew|;xJCbH%( zkr9N5%z-F#U!3%jk|qMr0%n>BD!SBVW@dRVUsGlBR4mgJfE+-pSf;7LQ?X2!vX^Os zRBD*}hCtph2%mubwoq_Dnfu25+vdKX=*udyM|0mG$QuIT<%GY$g4Kvk!=0l~%y;Yb0Z$^^|%lg|nX6tx4OczL03o#Tey=IwHBD9H|=_ zQk45?!6hDQwP(LX!}ga~;yb%>>CGD5)K-)W`!Kz)?IW%wdT-h(L8({+bW7Q9rX=khGk}KI&v~B4`@2-i6c%ZepuHjY+lYf zg`bg4!4ZXi;sA`p-CZ0e2;r~;(Kx)7mq3$aqcHgD8HR(#F6tqQaR=ALt6CkS1Dx3T zIJlVZne6BjTM&0*(N|V-V#gX2YiMk{Ajqqdq#Dg>!u>URRqedN>PTRwgf$+P`-2EH||@$0z=P7qq-I}rMQ)2~^h)VzVQ z*Z38Drfq4Si{OUlBmNNy_ZCqRa10iTfPe0`H+BmYAG>gqcl%tpX?gS1MMKTQScQ)u z_hQH^fbcoUZ?Dw65n_kKm7>i3|FM@jXgJT9;4R+`t4!Q3;~8N6l=1e*|^R;$5_#A>O^hm9f+d)bsS|i zG&b3TN%rC!m;7+`6=6F`cH#IzyqLef{ESgK&WA3O+WzflD6H?T(0sRp=KIQx=1cLr z#6$5?kL4D4#uG);9nzfp7Wr50Vl}KyLBCV!r@>_;O zCp`)mV>)nYxz9H%wi@L~v`A}%l3%4E=SySBWD<}ux{4vJHi`MNzwz7I_$I`DI=JkI zAjEzg2u&&0t;(03?X^DN_;~!MnXxW>!5zI>XYptx+*6MObzN7Q84QU&PyH24Q%GkQ zZu%+?yZx9uJ$~o5H~AZqvF_ijWb6fcMT46=M$U2jK|a~S3APMYhg=Lk3_*S?D7Y6k zoq;VaVe7-NeLn20mNWpUEui2Y*mMfEG>5GZ!uE97d12B({KPj~n?`GQ>YI-4^hd<=@+=Y1Ah8a~BBm5s z5mkzaU|caWytEj(#1JFIP^;BeKKv4QT@pXigWZK`}fPSOVPNOn$ zDY{QzIq&1~xbN3_?$}v6F2~(_%++g3t8R?{%31Vh;Q1 zGpxY@bPdcAGR|j;)e$-B7i!Gf>0s8L@?+LUe8nFzql_?Xb*fTF@>0dG6T{D-Vj>!@ zq)*+jq4E~YYubY@*ECg0_MdHF!uoX+cp zh*wy>3J#G|sr`)MoO_-=Ts%#eGe@RTv-u;%^K?!ht#Z$ojFvU{-(%Ik$BO6qasqCy zKm(h?pQP3l@ecxLPVY*mRdclJG)LS;oe42d=}ueci6;mkzgWZ#S1j$!V+t%)C0bUk z)HkkFI@f|VtUYC~5g$>%=^NM>xKzjyN!0BDAw@Cuw^Zcvo)kGESKLN`l_I}4HwlV- zaSuTn7W>32)MTbO)Pl}S z#SL6ZCr8{Mj&hp&iR!o=N^RNFN%}<&6@-)+2NF1A2fV@jE!j8nJd43x z?+SMGxkMNOJa?|CfV6PioAA>v59%Cg7nEJx_NKyu#(Axn^f1~Fa^YtCr``Ustd*x& zNp#%ne(FWS#V0Nt7hzueh>YcEaKnBnF{4!XZ!Rc3cXWry{w2mt==SC~J*SfCHs9g4 zH{gLp_kB%;5w%y{zo{^K?(}HmG3N_2rF3kU`JF#>`!^LyFG$8z7(GQb8r)PQ$GiQb zth&-sBm?N#{yXHY1^WOL^n}8fp(q4f9)N8-VEb=iXB*g+1$!pJ-e1E0nQ-k|xGo(I zKLJN3!woOP(G_qk9d0RxusajoGTdNNunVwunhRkHAyo8Rc3_*cNpl z@h~e8u!2{ra>X+dxzeImZo*>quaFf{r9GNvJwMrHS?%?r+6h8xuLDuxNO5b;w~NG6 z`Hri4m_9Fbr0#JJ%|Kk~2@ z?R0|Bt&rCR!tdwUh4F~z2aUNW4DZy~!0=5tAZFt`Bb~hKVzY54{HSzJU}TBzgyMaE zB38ygba`ld4M8R&209RCm~+J*=3>_@azyqY-m1|B7rPo=2to|YfiSwv6h&;_yE3+~0etlhzI7%NEtGvQUJP1{4p0_u!@^loz)pm6@9n{mx@=UQ6oExJ|pLi`HyBe9-{e&S*;pm3aQ$`S)G6&Kpvil2? zF^u${INhftW+zhbCGVUmepAjnadLLxFk%J>u8lr9g>fh6veJ_?&X^oB(alcfMAoc^ zsy3u-Do(J4PqtLst>&~H#%f5o;}|~Yc3nibW%uN|@vHk@OjoN0^yQm!2Z;OWdi9Wt z`8sciI7QbRM-1WXJtM?Z+>0DFg5Yb%^6m`T6F6aZ{iMMJoIjOau8U@}n|9qyaU(&O z&+SR4jQK0+G%uq)o#rg#^po^Vu7y1>OO@43TQBy|Q&z2)73jQ1h<<2-STDr#0)+|B056mhqXfw^}mf0}%8YAioxpExD{z@U&Q zzLY^bMX@qwE)tI*!H~7|5oMmv5RZ2uzMp&zToYpTw8mUv^m?&S^fFa9OP@5NvFSHAeY zT&-bmxv;n7YU(0Kye)$K&#-t~ChK4Ci9-IhMZ72L@vmI*XK^e4DiVK|T-h{Rd?>DC zkQ5)v#x(ZT;-j_H>qhaB_>z9i7oUoo>BlnhsjQ&k$REziYh~DOLbCrt^(8*zfR)XOtOJETpt@-vVp9sml&lgyU&n~SJHjyva$FL zb#%3Cwu}ICWHa=W;ExO>b*>?wi9bFk$XeM(oK~MpwvoIZnJ?Sx&n(-^I@D;P>?CfZ zA1h=h*@$|cExRf-l3f)VrO6)R2sK$Od&rBZ$#U6Sf34o?YpszNi^r)+j=WfMwcBht zKs>ExMh=k7bY{uHY1C$c94ua-Zqnqi1*+d+6ne6gI=)2QqCUnYvT?MJu~?2;PWP>n zqr`jkqpG}2Jf&{CO#H5_+o;tddAYcqeyo(2%ck^WoxDPv;XwxF6;iQ>kennQW7sA+ zNls8-WQzVGQ^Yw1n5F^K)F)aeuW>uNMh>DjGvsV$D(P~zc$xq+Wg5T!e3>Smr>CdO z`Qj-3SR&`k8mh@6-DHtsT8pIe)U1#C+6*4Tg6Ch0%a(wDaxlKE3bxYb= zg{xb_sW-40Mh5*Jff8a6PReTNqm02vNvC?T8>zuMs9{YM@*RYR8rl*pkN{d_gld~ zR195$aru6GAC8$EYV}>Mk07M=IS^7Irq9f>YuNj}S*Vok8zgRyGYw`vA`Ff2{6-N* zvE`9)&o33g=W8RH>6iMa+urow{OpHg6q24F&h&@ny5G(8OWokYP1`*h67+nT`3Sf^ zEYmpT^>3!Hu6EnEGW>#DT)3IrcF={J^V`gYo9!`>OpnL(3pQ}!h95B^(A(_iP8Z*r zM~*XqYkrM~=J%}X_8$#DjeevTNFJ@d`Tdc%>Gz5@e)Bt5h}*tg{RD=(?`!6>eChUY z`f<@O8)ux2BfqEc0`s~>!X-um>3&Rqc_$Yh?faPX=;1>&xakk}jPlXOV;VKDb-zzP zWBh29(c|xEz|lgh;nDi;pX>z(S=8w-)Qe^KG%zT=wyt)z1zR}TyGxD{xND$f6x9#Ka*VeNCUpc zg%360^IiA|1MbOXbG~M~?a{C!r?~+OSRG^=gcHHO67v55n=B~07PeeWTdnM91UtWk z-GgAy7A`4&2Ci)b*IfvQYr>IaxZyK6`Z^pt4!0bD;|JhGbGZF_xU(tTwFZ7s04KkN z`xe3d_rs|saC!-xc@K*F!Gj0kA>W`+@G#^OJPdmm4@KZ#+zY9S<{a#>4EIc$ia+hqSNo zF#mHrEcyo?7XJ$3Y&iK1+_wPkzZXt5g3}pr<{c>R3lAPZO=i$Xco;Gq z55wNZ!-yVuxMV*bMv{UyY9t;;e~5?6^6)VBJ3L&z9uMQc#KRQ?yOK1ct4PC};={w# zZFrd06A#m0#ly^-@G!eN9_ElTmi7f6=6{BVMWiAwegh9nNh4c+3J;kV;b9duS@RSg zvZ?!Z)bskk;vt7Rm6>=5R=`6p{Ue-)2b+|;f*bI#X&N3jx52~Krg+#+D&3ARddj(| zs@1j%M_AkET6e!-ove+@*wEkOVbYU$xaNL5q~+sb-q(0o_yrzT9ad3>!B#rPAlMe| zZfI`+l6Mt-RTF%ewxcWBpt&KzS1Tc#eX}|C0kqP^%*Gf99dm27b zBfuaHf?O?SecfJc=iOCT?VPu+aZkS9*;x5ESGMfL*TI%LEuu3!*hFq;aR(V0S9RCd z-PP{BBG`K%->{>%c!nA*QibbQ_ET=XTDpPVwmBQb4b&=2$nI=cw=qlPBte#m-1ZC+m?mWgU4AhYm91Al$2ChS#rx2Bm+A)Be zD@wdi`2{K``_f{sav;(#kfi+rDTo*eXW!8kmyW1S7GoExN$^D&@xAI4xTzUi(p$Ke zbb^p2-GKzV+lRdYCnx(ZJx>$*F?Z>WrqKu!IzB*~0!)+XY1f2en$$1`N4GcQ_>k^3 z+%)M7a^YtCr``Tdli&uo{g0J`Vy>s|bH`(vpgq%{X-f4>uhH6@>$0wH|E5W2miv9o z??2at8>UftkK2#A-g(P~nH|&y-}&uV-R4P28Tz-NZxB zq-nYmJd?iJzqh_a6VqJR!t?=zG9hml*qtH&1t{DIMZbV8MX>ePu)P`VSOL2(huvpk z?@O?MDjawY4o-yY{sM?1EosKu#>P;P;OQFdKA+!gFhEWRi)R(Ri*ovR;97Rh45lO6YV3Ye)`38 zoG$H`X1BZttVS)yQ zE1*`EV&9;(GJ%d^U9qV(h8o2V9M%<^Fj|$1i3I>VgR}oqaTi=(jN&fb8cuE`hJyUX zr(!c+p&=AE@e0WHwgP{}B%^XxY~lj4Do{clC8`aP6`O9*gPUUB^LUx!(^E%G@$89VQ#@k`tXBI>@$7k? z%>JKr)fW`cjU4eDOak0zF86Z?-vs$Rpx{Z^v<^1cs)(g`wgfC`(TAEQu61xHiUj>1 z|5D5u(F=r|)a8B#;Ts{p8x%Yao3deZjf%K4+!mqun0UcSJNQ*O`4|RD-xQCLt&Ymb zsQUAN9L0_-qMf;c&oPHLY;|I}cmtm`6tAy|FlQ1G>`cZ{5$0ChHwkor^n`W$D46h zV%A<+ADuXg;u6QW(qewRA?6K>*#QWyB7xeVHgA5_qV{yUs^5fz_nSAlnyzZJ?Zm*g zV-iW~h)@@n_jS9-M1n8v!J+dxJ+%Dpqb~cX%MJaN<*cYb2HUFJ2Z?7`!x$v5M5*aZ zKtrQSv~16pgrv)didX5JJyedTbLt2Y;(JDj>-9ZG5xOM%797}tacXDVhU3&86seQg zj8$zqmo-hDJ|xk`a-%}bWwTbzx$*)U|El@zSOLkMuSUEvLn$nqGsJ27|LSE*VaZ#j zjD=a5N@1}xwXrZuDJ<7#iPJRJ+9IzTog0h1iC6~Q*G%L)n95qpafcJ(VuZC6@mu>g z{EX$|L}gT=dsQhe@^<_%P>f2Ou_LD15jQe~w6x*^#clAe&wbDxr$hdY`|%^>8x8q_ zA(ildXsaRxC_uI@K)s}17 z)Gb%%Sj)WqIttSKWHMzIiabqc9ub6Cr~{E7*(ZFyIJ>x4@U<|q#GY|kAzE=FSZ7}s zZd!fXxp0$3Vj!wkk4*JzgbO#VKC4`oYFd4;{H_kLGFdaKQ@VfCD)X5OH?2MxpjYO2 zK5*e?Kc4k28r-z{EOh%Z)jrIO*UvT8O3#{Ts+E_z?M)Gda#8nV_W!8+eNe6J@2Zu4 zCtDcR%JERx35xu%r5kK3gdJUBmw-LZVDICw|9ZH#Jsdm@hZe&1R+TB1ui#Z{(*xF# z1(y7nkY}oR)L{rwRL`HW2iZ%hSd0I&*rQbKYEIHNs@mhAumcoTgDqWPTR!aQ47)bM zo+hyOQP_V7u5AkkAAm#i;qZ4=rXu#dY;C&FIxF zYfw`Z6SzU@csjL6T|=i<^(M{;-+?dG9N)h>nK~W6WF<&M@$;CkJ7zHuo4tmfvXqlX z(Uars?tG(5^NeD!s(od&XkdRntLkMW#IjZQ-F~R<=_R@ipGhx{$+I7&*z__(@M&US zMDncr!Rlf1?Bna5FIFbQ0H3@uA-gN3w^qd6<>dR8+O8w^!Xm*ZUd2sgBev^69f~U< zBB5#NN06&=Xbyx1J$;_Ima=Hw5!S~tYvPeOBaFKe;siPc`u0(6~=Pa4Ql-BZnXwCi_tTGzkLn;=L66E*v)J z!Q+xOl@ODXs@?k`0#lI;6wt=&d% z9oI&ZaHYk*k@B3VT6Jc@U#qiBpnli&6x(@8Uf5ICqJA^`w&m+kUvZ2YtQa5!0|EoY z*VJI{kaU7)4iPWW<z|4(MsLpldY3|i{gcL%qVm+6- zxrnXd_G2z$y=)zG5xdwWSaT7(%!Qka*k|4T%|)h{HHOTQtP+_Z-h&{Pq<;hQmO%JJ z$e#=aU&E$zu=zM_J(twO@@>ktHeX?t`lORk`H95`O1j_wzxkxf==mLlUWdF42>%80 zCqcoNu;~TZd<$%SAqk5sZ(3t*9+ZgX_Dg4Eu)NWIy6C)%q$EW8Wc3_JjEUyuoVgjhcgHHTr+$k;;iVQaLflDJSMQ zc4D@f;K&q~`42e^2utZG^WgpV!)T?9C-hn3i!zOY?j}j!uQ3q08yf?OyTRGFaN#jr zLkgJREv}D5hNi!MR-m>Oc*6=Fw?emDx%XOm*IVIp(|IqOG@STYz7JW4b`&hXxzFR2 zD1BIqKzD=YlmsD8=|IH$VXP}OCARud!Pm+#<$0zy=(1jyn&_pn|3v7l^6UaRb;j18jFq^OzB;k%N_6HUk zsl*5LL1v1*4nmfx|f#_*@SQ?VyWof*9Dh~&u)w#tCiBtW{^Rx=Y-cPLbRHJ~iM&lR6 zfFeEB1ep>6;i*m&`)I1&q4i4k%|h2yEWHT}kVKSei@bBbc)Of;(z7$fR!6hgfx{}N zndotRi`ZtOKy=L55f?MAER7jgMaPU|5DZreKaY!-noD`|Yl_bIUZJej*%wIFdHIlPmgjfyt$VFRm2cg_f9+ zi|C%ZBgOmFX#SYKbeT0qg-|TG{9?MyzFhUVeBuzc<`hg+=~|hSx!UC7Xi7!MEw-VwDSylh~TI}Lqw)k2$q&qi?Z^b#!m9B_;v4$0R906t@Ycxc5{ts)Mw7DEYW1*MVzd5I zMi^5P{~@Q z`eoBqs!>z1NjIvgdT;CYexYo!Ts3MzvFbboziQOfZFG@rov9kN7PNY&i8r;t&HbUt6H+7*rZx@6gTTu#?YzNO4&s`MnBfcE^=@ZQ-JL5Oknr2Cs4g} zFa6HF%6{i0`vpWl*;m}F2GQ5u(yO+5>(1_5SCRb{S;+onlSPvKA|`vvLE<*m*C2@{ z`uO7*TVm6=X33#Ei3{XV@d3TqJUK$VNI#a!5podySRgM|B|MkQOXUc>6cjT4ge%0(sHxspv zdLZp<>Pw(;E|-&4k4k5S-R1zvK!Ik zGUZ(Lxbcp0&?-^QQYel7lPW`s z$Ig;Am&Z(&TUx4?yIaw@hTPqc&eh~W&U$SiZ|Y6gE#yrz=-gPIVCmFao|sG5sq&t# zi8g<{)63}z4diL@IsK=Ke1v$J~PJJiq-b)B|XJ=jeZd-u6r7PypHdNAY=N?2Cxc>!2YRNP`QYEz7% zoAOy7jKvWK5l4AJcV=FhH7_G~v4G+DC zM!00@HW3gWHoZ&Wv@X@Tng(zxA3MjWa30b`9@24y{8B^m7=ljOG6ryuZZn_T?7^>u z+=ag_#th@PeH|f~fX|RbhJ23wlzKJUMz@)OZ4%BNrF2CVc{$ArZnr}BTe-is^4_(= z|FrTOTlwEv1?Q~7+Z%0aWNrF?>^%pVR7KMB%7tA(g<08!m7F9VS9^-S;X%q-q<_y70vef#yy z)b{JwuU~alb;bQwZXYYpZRP#W%0Frq*w%(A*2WvGjh|ba?y9xvD{J!tYuioMwr{QN zh1QPs*3J}bm)F{zZtYoCnYXbZ3;Sf>2{|rni|48>Z&;q)ftL}DS0frnQtmS0(J9l8 zI_^2IKwL|FW?HCcg%{`JqJ31f=afh1b-Ic%drJ4maf0v=PfrtWX%A2nJ_q7P$@@yU zQd86{ISs126lqZFnrTqY+o9u9clDSbVUC61^Zca$VO~%vDqI$MH?Io!wB_|^9K)x& zQ|i}{wF_Q_7QhO6ZX-!Y7E94q6-)8>we{m0gR{TuTN`kW3Tw3@COkM96CR`c^RB`r z7<1J*mF|t6>?MsNj<#ZyPC|>d{L){7K!3=n3YoukLH0Y4v(UeKWrZgyAojcMQaa~-80?VGadFO!@e)!z!5k!3XVSLrbNm`4zdIZJ;jmVigJQ2>OhR1Vd|ucR)i3%!)Xm~WW=-Hso|!>>uwDO4G-QTqN9?)>p zAvoxOYh?K3h`nn5hLwUps!!&IBd@24hMV(5|7|snX=OotR&Zk+UMnixT(_X(b-4MP z>yxC%57$2&+!)7$ia@2IFfyIerclpiIw%Jn!NZMj+QgCEsBu~wcrr-CO=}aHK~?{7 z>tnvhdv$*k9(2?W2XAJ~C+H9#Zk}dZt$XyknHf-1^nA<=nW(akvJPej)S%w_2TwM}L7`BMZ>GfvS`*E5Qg~n0zo#+Iml|$n zI`x-4A3jg_H#411&~Wp;psrip*H|}>u96CF_Wwe|&Gr0H!^6GDaL;Sr_eDL9X>CO% zn3|7y-{5;R#~-KrBhR@;b4ET}!}}TVObzdCz)@qT?%UUZqZVJm&G)rj!%@y>|Ip^# zKY;Hi@RtGmD&e{E9^`xkd8;A+1K3y|HW$Fw>tNeb*#0%_oDaKxf<4n<@9VI?7aX_? z?wA0FFT#;7aP$xyi-+S+!`&<4-ZF4934U`F?(Ynz-+~7=!MRg#z5p&z_9>Y=>kxkH zLpiK&?t@MLP1p>gtXD%$V>9eG*bHBW&4_c@jBbF<*gDwUUKSgXB5UGK{5E+yHd8NR zGa~_;6iSCR+l9^CUf9h044VaaVzY>bS~3!wWmBYtsqq&}i#i zUkkH&ZO5kn4cH7khRrSKu^IEEmEMz>?JyqMW^jeuI#lQix0OQq6>cln!KBhxxGf%* z@GO3X+sbtaN*Dj_+*Y~@y$!w}!G9IlmT+qP1LS-Fc`G6RJ=horoAY3+8@4Tm?O(#q zxv=X;*fRz8z6$$$(DCq&+u`uTaHJC)Jpjil!SN^I?&WarRdBKj{N_%$zayM}10L7_ z=T5@;Jh;#n*<26G*WK#?Hhm~Dq6XnN?)W+1hHdB3@QC_E4-)<<^om%3ZZ&Nh{{BCp7qsH569L z)Em2rex4S>Ou3?UyI4{5tCPs$nAnNEOoqt`-P+K{xL!BW$Ed!|=$e$iESr9oA0nMZ zhX^Gy%N>4;P$KUcF6%L|j8XjsVEZWc7WH2|PG+g}jAO^>_qvI~Jjk*qvPbCm@~Of) z$kL~>--!Mxs(*^irZ|7LtS`5GHg6yX_RnLP;!Ey4UQK*q3#FBf1s3vaXs)SCm{;~) z!Yha`p5@XQ$TF65H+5OCirqt>D^_t)?Qg|e;oP6Pmi;7)@THQg6Tb0OUKtgY#X#!T`uq{J`LN>P6^8i z+s>t_q(~@(xPW72!AHb5o9&X-&{nX0!Va;D9hS)}ZFZQQrH5L}?vhowvM@2_Lvivp z_bsL=B(nS1H`HeuyI)iwTgvWNhUR>BRvH!dv9s(`>ddlOp|mRO#L9#3inNs?#37O2 zF0|FS$`;ucUdL4@+rk>|+X#t6J2%Eze$b22K_Zz>%HLVqG!{;*3!L%34)Fk)F@dP4;7r>{DO_HBoTo7yPQaMYiMoDzK+Zic60 zZUJ@bGqoh>`=a2cT%NDth8Br?G~CqsZPxH`i*`b9s`xtIHp|tv4)%d-_r1K^D(sp&*=W9JoKc7o7xuC z=9HxU;b=2a^E9IX!2S>6 zP$xL-gClj|u8DAb8{C}@_s)ist>HIc!TtA&gx-hY!Gp1^z;fN))+)BK2lL3qe2d2A z1Rw0m#+C=Za2qV#1`Y?mva#iQ8fxADyBk}cf6jyNB&1&r{*S?41DP?9^)2MQ1bI(D z!5P?i6Kr|~w)kONCD^_VcD90D&%+)D`G_zXJRfUF&&L|d^RbTde5|899~(%|$Hvn0v6=LIys2lb za3<>@og6zTC&w;AtYn@Z@|;l6gS{?}0m<^1ke!St72#JkP|j$eoYBM~B0<-JA#59U zpFLc7!>k@Ivsq0Y)t1E0C8O9r`tQVXvhz5$ElxPuO<-q)@IFBc!G_lxUAuHL+a$!> z$vmDu=S`CpS(iZ=});_&2)LmGnGz5tJrj_EIgyUL1OqK=HY|r%Thd~JVRgbO5R`Ih-FPDNEMXTg$L+lmM30c4Yo~s zAF*xH`-tt8-bZZjG`fKK*g@q(#11MSB6g?pA;N$b;X_oL-4)_P6d!m;$@$EQ3Sb)p ze?Y&+XkO%DoQTNzhun&SsliI)GQ^9ytQc-BG3Q@Q)D9{GEbnN`x7148Z>66bCJqLX zlb6K0r1J<9E+H($Nra;ehkgLUCm?uAz!RJ}B{bEi1cHP{CwT4&cwDY1;R!`81&6c* zgpzoOT|Ovro09lZ-QSeBgX5SIchC-HGUlKi&1Aqq`)N41$(Z}<`Ir)J(C!)TzNW+- zwD*}3bkJUAO5A_b_ci-}rQzY`V@lk?=tooXeOr%XO57NwQ=-JZO7}MCp_G$BecZ*8Tj6Y^glx2GsrjyS+gLgEaV=5 z{GqVHf{nk0&3@QAluGFAstUWGgniZEz$`el2o6tyBi-SyN^tBWIPrI(kE|TanB_W@ zWO?qT{VoZ_dhmRoe31sYt ztQ5$Jf!uwNe+v}+12#Sio6}(HEwKFz>`H{)kHfwsIFJH|7Qo?2aHK2TbuAqG08ac2 z_gZi=K9*rt%R^NxR5-pHO}xDP!DH^)O-U|Gsx7t8zWUvSl(4J5EKHPmqtGnZym4r( z|6_E6ZzaNCsx{P2H8ffWY z_6dEi9n5FY=gOh%Yw@IPC|^u~Im4wOwPZLSOuv_pWWT4+^&|OhasE$G92>(P6;m0b zJ>83iJxsq{%5w8==gG7{3nz)p3|FT#q+gX&L~@5J^IOrc^-E8i>MD*&VpXPyHkPNa?Pm9B2T*iGB;gQg5Vq*rhAleK74?5b#j$clbp*(3 zgASvQLf~$9;6t1cX`S0?d6FO`PdX6K%)m#O>oZ!8?RrMI>*HD;K>xiEdGd^goBn=5 z&7$e|*gZ`DmKttqpwa(OX%9`2*zX8)kySGeag z%0GGP>2VDC)>Bc#&GCctL4VqidETb`8{>0Z%Z=gsoBpw%=y6QBahZmjawA$2lw4}c z)qmFg&2?U_`=cB<$dLoR6(Fq!_`5^kEy$P-S#=@%caR%^{60|d4Q$*3o8N}5t6@hR z>{<_dZiKxb!v5DpL83R|&WGUWGg$Ka>UoxHKeLW5wN4zfJhKRgC!@tJQq+DK*A*m| zvYv@#SCClBdZk8UA-iGmjk`H6@9K}+oXV*!?v-r zVp8aS&`n&w4LuS>7%KmP?GwG%utP1yzcSe&Sw(X_JK|h_L|yM=$EAe23&Y?aqnpfN zCsXKi0Xyx~={)V!={zUUBbA+V>U3Uk>U3Uk>U3Uo>U3Uo>U2Kt)aiWOsnhwiQ>XK3 zr%vbdDfBeUF(&>My7wgZd$CF@*z2;=sGq&gjtPf{bO?w4k2aB*mWp1L{NTC`d1a#GF4xDI_r9ZolPu z-W|Xbh>#GQX$g@aBq2Hw@3({SqG2(g8|sA=2VG4L7BR24UdXUr8UP z_VFg&-;{>hXt)`L5cH-u`#+_}H~ngZ=GSVWQW*P2k8k)@upgqrO@E7^cCAk6_&i>Z zV@Qjt zd#-Tfn}SP6J-#Wex7Kj8|4SMk?s*M-@VIq#yo@Olf_phMUrQ@HAjb>u>1(<~q;R^Fe7Hb1*omM`Iza0i@ppffpfTE@V}J?6Z*j zCFDN|8!ExZiLmJeY{`PHKf?AqVdq)ceHQjU1^Y+9foI^*3OJkycRm0|XTq`T;P?r+ zyQe6A?t)Wm;q<%kz#2GL7tY5(;az~vq#t0@>wavK@4=?;_f@ElPN1rl+s=BB0w$72 zW7BW0Rg5N$_LO%hYL$`|z;%oh>=l|Mgx(NZb%iF$!;!hygS6J%D?yqUjs{$zNpd~^ z)ig<-zREyaJxD(Rf#)G(He{89>@$%2IpjYM8?J?o<6+Y=*pdNT{|ejhfSqSx_Zisx z1neIU2cCjM%iwTjxbrj|odL((aQqnD-5u^-0{8tLPOXO1@4y4A;9PAu4^Vi7XwrK` zlPF*;`2^9VZ>zBVNRtw++&0#OYYv`tO!xK$-uyq3?(IvwaesX3_F6V3$jA@~ zE!p_VY=cPmHg0CbE8BAlxABMN~2!CbdeIMllTf3>OWY*qFmr>JUwkmkXE1S30$NXV_8X33vnok{Z4gh z!u}u>08RK>r2sI}FO>^?g99CC#{MXJHRF`UrC7Q#)vFWRNC;88lT;M2+-~xAd%DSE zAPsWPm9TxXOrc9#`5j4()?~RBZ*^U zE4?)cLdQl2BGXonjGO|ojO)fwvCLCW<35VMA$#IG4L4oMgGWEpQ6=bLVv5!a^qwg>AY-7F`yH98zeTKx$of`ONU7L_-#MEQlOBjo*x8R3OvWN_Li84(Qa0>07qmtK!S4~9=jPJYGvat{hmcqi zq+KF&F)AultO!9UbFl*vd}lh_DN@Z&o9jG4iEJ42_Jr;+o~HKz-nMK4YKm4^Jv~!V zI~tX#L>ed&2U=!f=IZZpu95Q-r-gr~=#duXouW@!QE_H$v3J^`uCpZKo&FW4B*d3p z>YWbuV}&T@E8RQAbX~%&Fqps#jmZK+`NCofw{N<$*^3~g$@*Or zWHi2O2O{3}G`3gB7>M4;JQK*EimE(2oaIIU)2EcY#vPAP#65!?RbE4_d%{m**ye zBzSfsj{Jbn7&*JS9Ue!vN5zrbi{l7V_z;oT$ZmcLygOq9KcZ4QVI3{DJAs!W!qD8z zVf{Cpv*6B1{DV2HSC!iNL>K{y`_DMLML4^vxb`LHuul#DlJTGsg%I3Y z{3WAZJlsp(2j2CVxqdco`-iE(_F6e-cFh8_0;BKWaK4ft`EI(R;e@B z7D2k;UIEQT^bF)!4pAz?(tqQ89t}=(9=!+ezCuDRld~1OHI3 zb-miXU2W_$J=*ToC)hM~f-O%Q`0VGxhEj{2w0P?Z6)cOL^t1&}wzb&Ce38}!d{fgQ z?rK*R^euN?ON~n<4n&=DtgAZGTn)j8y@Ygib#%Hq$LGh5lv1*g1`fIi2+86OM3962 zkwtNE)eR*Fp6bQKgj7q6GcLkRxF z2F9YRUcw?mm#PWu8?uAWP8vZ!S0_okUqWpe?NOsPJ3;@h)bK|7sM;_&PF&nX8IGG! z+5vGQEar4rrJ1S*->l?n@Nsqw9`0JQ3*u@aPUdLtcXPok1t zMr{*@(zQH;rr9`1Da*c>S0_%2n1}P9p+NkdVtk+C#vt#ULJ~OdQyEFc!SpO0OpE6q zE#i8of-u@zo<6laFIe7jR(iaZ{!N88mgRZDHxGP|S?q+3t7J`yvisNt;;Kuqh=<;T zA+C3LzAPz~WI`!YN#3CMCMLuyg}2`IL2tdQz&pkA9xm%EZ~4kYdPTR5dIBLAw$PiJ zAhf9+2yYo!U5XO#rqff?p(c>UDZs3@-JU@c(AK*U)b`Qw-BV>IIxlK!{|dfez<(0#ZjkX2WPJ&_lOf*) z1$V*5k>!wPrax|FF;oHA=;INY6)X+Q3Mg^DK~Tr(l7sC&7PMB04TzA)T{)D`XJqiZ$xO zHS)q4j4MZ-G{;dV&2iMRm7|XBIO=3OjylTGfxbv8MUI@=saoo$Yz z&MxJsv&(VRInW^JmUBJ7!NC#ag>D-efj9|Z0tCSd$t!0$KC$r1Sy90?;}X1bil;me z>y`6_+s321p#C>#>Q4}&{tm?RV89cc%*qO`0hj2Nb3{`{^x6nf4FoxXNx@N;EYbVp zidT-Xq;ouitMxHCC0va@?SIRXDiGiAU&hkP{m*fj>cdIs^_wMlZ;G53=(h_c6%d0|g($#7m!9+N88V=tLM=QczJK=a+IPqM?m6pr@g_V1?wYR!; zxQA72j|}7coeds_m7887SN4d&?SGk=8T*p}`=^9+9FHh6(-%={^V?f{Y%J z`3K0(f!vFbzY7XJ6q#x~uw@c#eHOOQrwqEgr@+3lus;+gGZF}K|}DQ zS}SclB1hHdR4rMbQ=t@R#%jScW2|8qu-$lLaz4OVD5>lf5OO|nAhcxTC$cPI7`Sal z#6wC^=L38%B|0B838m87FyLJ$oDZ@s>F1Dod2S_;-MdEk9%RzV07dr5n7J%0X0r6C zsEMv!MNyONg+VQ2IU9>ju${Ho>q0!Q#n&kDyt=GJ)It1Iy&A}5A+;ND;k?cQjipq) zwXsUX=xrfw{~KDc$4Ku|tCh2gC~L;smGN1Hb-|~Qd_rId3i^@tlVwQ9jMm29O6?-5 zx12`^8Ty62p=3jUOyPKyA`Wr94$Z9KU~F~fMmqX=3tqo__$VlRp!qYM;@ zwX2dET||?+6WCt~Wg3QBUE=K|oT4CW7-$wWnl6b<)*O@x(H*0i{TjD@y?V{);jdmZ zL5N5>5MiMh6`4kX%QRa)8u}Wg{;4!v>;d#99F;`^(C)A$cMFVZ_o zOkf4{Su=s%OWUeS=(cj(HPy>Q0bJ~=u68Y#YihJzr6uCCN+Mp05=_ilZ_t?8Lm4wi zfaf?GGi&2*q8T&ml`Q-wmO}V#sD)q0m|0nyM9><>*Ole(TKru%l~xp(f>MLr_X0wg z;y}ctc!Sh?hoccI;WO@+m`j=vk+irljq^Rk}4w486c}+MFT8!~iSeihV!I4v5 z6!Dt#pf{j8FgeI_Q6kH2>!U1~i7e(gge(s$H|u=I&3YqFIk7Ye>Fpb$;n@7JIEFgy zC^&}ciHov-5*mXzMn-|S%EB;Gsd5{_uvSUVT8J}EL!6$F7q@8Ue+Z+1OD8YxP$!sn zM578HE~UrRcjRN|P!qS^2xma~Pf$`*0s}!vE_5IQC#JFO0w<MA!w9 zqEWUlbW^LKYh?x9axP7cBeZ%!1Z;+rAOvir5s)Cnxg3Za-+aN(1o`-?V9*xTFO;De$m`F3xS_(-PyfT1CSy zZpHpgKWDaGK|dF^m6>N#I>`K39oWZW{Lb=cXZbU}+hQ?%H(h|-$Sg}&lJ%Er~VHWcFDh>(rrwp-%hv~e8qZ=rot zRPj&gir9~eu6~1ehQe!*|A%@ri|WTE6fu5G1%+hLRx6xWNd|>9w>+2&>kG?!a*ZDo zw_1@M9Wfc|sba1-nB>aIVuda_cxsQ4o00t#2L3(7b)e&l6(sXPq47uX9)`3bZo3uE zhW4E!A4*85#3c-}Tr|F-0$x2d z=K6BRH;r&XyOfkj!*Ht3cgN|wh8>LAy5bzeIWC-vgGaZrV38EC2DZW zf5~!49m?;)*8$Qtfd3{4JO~-RA@h~8N$NnKC zD%c-M3oW(KxO=97_iad8dxfGC69R9bqg`L8PZ-2Oq(g&OFG&^9c7>wAc@(pFI|Z35 zAXuM)g+{gp4PO039P4w#{D<-O(T)e~Es?A9m14O%`E`1?JG;7qmO{K&xdSiY=p=vO zZc!R5g3xAmAlwze!*H)?o4A=Fe_Yg?66Jspr>zGx+>|roHQY={9#naoajg&Q{{4(i zzedA*8}PXrZYBm_rr|w}{xdWj-(xL@czE5A)&kP^Lf{q1jDzelkn;uPeZVbRq5f=V z6qNWcUm|H5tO#k%AbmFkUZzq-*;hf%pCRwPRJ$Xh)jUM2urXFs!&0=RQ3+bR;smXO zLD1stPA=CnH#;xrg_}#0coFgxD>_x3OH|_es_avuXtS$}@)4`6%jk;fwcF8um(^wm ziBi`+YX`E>Gt%X{E!wU&v(ewJcLkO)2-($>G~6sRFigX77m*=f zvf%H)_sAl;{kSNm$D-vS{^|QmHv1RwJ%l{A3$9T_9(#GcHVC_}Pv}?9?nBr-`qGRb}lA|jd3F9^#d(JN$w<$a^Oh-;3f#%HexCixaIN#u*6 z(am-bwO{HxY*0XGzc>)~f`6mS)i2tHG2Js>)EfYOUPCs_n;LGi!Jy1)*4e-#iaLgy zY-*E+cQM!(Iu)t@y$twP4aW_c{^>2DFu&iD|r-mTaI69=ueGP10!fR(e; zVlUFO4`CafR~|;@`9JpXl3`VYwDFMs1_WM$jQ1hyor*2-;a6K38CF)hm9rg>*gc~W zidkV<*XpROt4nd#)y-gCL?;rf2-RWDDnsa3_1f*|qkipiv=N(_Jg65=R@gFf)lM8_ z_r|!4nhRB>nlcPkF|LWUG?(;x748v zwDMnsKoV;v;+qcdJQd?A8EcT839LcUPGJo}2x}aO!kUc&Yi_?ZtihvzqM0Vv_%+m(bo^KsmLjp7s3d7#yzQ7vnk_F({NM99iicdjEjMrPYD@!{3Xh`|MdMOzF<`26No7Na77}@xR*C= z5wWSt2`vQEN*F{Kkyy(i<#=Lp+x-nGFLLxsQnAI?3R-szi zn8G!RS#_~IRZBy5VqH8*WWFhH%7%Dy6nIuw;~7B+&m4##H+>_EhTv*wXh>>nyfGb) z-5PF?o0-B_b8u9%{ja=t?r2kmvo z`RFagh%Q#}m7 zj5vFU%Qe3)J0#RPbvd41isy9^!!(e?G$?Tx(W5Cw(9>vb1)-eOQ4-3mj*`|*>M983 z!mcunz_gx%P%iB$>E`r4l2GRNVGqz?)B6iTxvW1sOh0E0?n-oX)nGYR`H>BX|GUQ+ z{C_B}14)F-75`rtXoR#VGXHmMu)iq&|2KSoC@h2gKhzZu3ZF#CA(cmTfar6o2qdQP zxU#{bcSuXi^N!^$_%$|IR;VkYnZ6<4Y3qv#|0ycmvDTP2*!|#3hO|Gs?O}?j*U&Nv zL5Qe35PAjUr>x>t0}r}fJtO;&7R?NTN<8H~f`uf4g#4cbj8;l~vWc%-96b2!G z7<_S%HVV@3fWS?VaVung4%u0d+qqn4%Vlq~@=jYkiI%Y+R*q323Sp?XnZ)M*%{ofz zeF1!BA#DVtAA~>)$QTNlpFws8w1m3Io2X}2PtMzjM>2`gYOi7H^WEiPcT zHw4UBdpOF238DlhMgqO+wr^7u$Z=5?Km3et5E?W6m@h|xaBOC9awrk5?=2l|L8jS)fUeK-(`+|k3oRKYcn z{U)M-W=8IWUU@5fqm);s+M}brfw^Hf0n(Hx{_yCtSM-$C)7S*W8s^1|;apd7_x()xx^6xEZUd|M8ZRUkpV*jvQ3*ePF zSz-P8$voSSQwVasMi7D!f;bStM<*?pu1wt`pYhAM%(NV+I#hfVy)8@Rqh|4qYjl6p z+Y$v_H4YMhpexgp;ERW}RO!mpC#oycziDog7d#HWN|3fL)xI6qGa|j87#7tRMn!d0 z^c6*QjCBZ6C>RMiCxf>pz0Sm%vZ!;-p@g+H>x5u!ygeT0D|D1-EeNWlqPPV*Dyf$g zLpVriTR0BU7EARCw53wLF@5mhDiD{mt4XfY}=C*ZS1RAOFUXE;Kc z@>NsBiLB}he2?U4W}L`Gk7}|f$R;5iHFHKsfI*7Dw2N=JM_wej$TDK?bDYgmW-(jTha+69jP9lUoy+AVH- zGOiGbZnZQgAP8{+2f{>NiQbpS0(R)VW3qssL*csNQ*kIQsu)KJCDo#gmiGbQrUF~U6lh2|)SjD7zrl^Rp zM~N+*Yc1G<$kN zYm#KC=NUCb_2cC=*d1}yo8{IQF@Fu~b2oKg+Ne()elTAn_6Yr6(6k3#p4yb15&hS- zP(nou?bK?dZY?JVZN&rQ=pqti+8m9T3f{(mV+IrjH@(_NX?Rzo zzu|RGiNvM9?B|eH1=1gcz%t0_#vY&t8p86NmxUXwNbdevh%4%&^uOkbu zHNoU)Nl9?ois-WBY3VoWL^YF8rVx`}iduG!EdIVEk5L1be-fNN#^m&iagJpA$B;UO z1Oy=~kprQ}96x29VEBC^8;QVG!(jL>O~h&&M6#TQs`k)hZ95kL#+*U)98~#JW=TRCg%- zFRrmnO47Iu{kpcLh*nK(*@J#nZ7)&?)NX$p{c?8`F}6wFgv42=PZt6#*#RZv0&>$eVDd#M?{pjR=oqROySY z!spt{Fdf3p5i!BB@)q~ps*``!`hexL8C4SAXLW{ zbF_&*pNc*SB|^SZecly)YGI$^F}%egq49fAI32J0OpWu37^g8pP%$X(9#jm5#sWhj z#S5eNn&`7uT;(nCDx?#l577xI+=6}Z)F2=f0V$IrpcPy|+93oJ(sYuv1ij!IS>9@v zua1@0$x82L`FmJ_7M5Msvj1RZJZ@#4wz6`p?9o2J;Dz;5H91%^P9x2tK zbelszHau(yO(pLkzGLhkLS)-Wd>2O%c_5J?7#ss2uur0BMP^wHXbwUILE{!d*mu-w z+0R~%XhnHv9ZQZ|K*$@|fe>HjRYM&%)N*VB1C5(VV|dNO3E>5QPev4wYB10{0@) z*Z=icA>{$|CyRx&?cg5+fuA8`4`g+N?DLS@1@bOH!C2Vv9&EY|Ha`tpZ-s3S!wyk> zc`i>>-eo)qsRdq*Tb}hukxX?Hw1S@vZUV-H32JDXeqU0KaP0%K)mDpEP zF|}bLsZ$KnZCui;V-O1i^%G@rBo>ZO1 z?qvD)N*sAfsh!nJd^_3;i`l=FW{T*V3 zFFD>`jVo#>p+ze0(p5kUt#^iU1Ia_htvW?Yo2gXXO)U@p{cWoM7~X#pB1I(Gz{ph+ zQoanWILOTnuQ-nCN0qU};quo84K?k-yW4HA!CR7*#!*E}NT_mJI=n^EPM2|+dd1_K zsTfuoUR}dc2nb<9y*1p({{2r>2{VIA7VC3%IJn8Y`|A0aS;tc}9GPX%bNO@dO@j1T z2&{sPs*rgRvUfr53dpZp4rRvdK2~lm?}=8&R!sc`X%j{-;rW%&uQTRI%pu>}R4oDK*>D z&lNSLEANCx;vhPwX=8#eX)67FC$x~oxmu{=T&+Zm#mrW!I9FR$oU5%W&ecKwy90Yp z6&35Oii&j(S5ypl^XhJ@s93iMMa6o`qGCN&QL$uIR4iE)6}#CfDt5ChDmF=`q?l7lCI}J$aC`Qxsp_Gn9I)4 z60TmTelL{2mo8Oh#FnZuVk_0aD?Bnk)2WKs z&xksrir6pz;woZpJ5`bL8?3gAC9`=uA>!~IrYH~e{CIk zz$&&8hVkvr)(yj#O+St!dcvk>S5WRTl?|w$S1;OxpVJHYe?5}x%0`eIKimfSl^a3I zMVC|uYzpkU2zy4u-XGz>7&!Pb+>r`*-Ym-H-C1$DQv~erm)4QfGWd&+a*pR?ky(`H zc%EwWXfoKGuvUS!QLO@$ucL@npa+72VXg7D2k$R*;7(?!A-4BlS{iJn?ZaC{Gcx`Y zu0r7pfTiJ$%>rNqAw{f{YYK(nbOc2df-irvr34v>UL#>JiEjzjg-xSIb@8iWJ!u)K zCoCiJO{7Jo31(;VqXe|GnJTT-EL>?V(W|v8t<~Bot<_#il3Uw5rM0@M(pp_rX{{d4 z=}MgE1Gq-wJnvHy81vZnWvi_vO%=aW`I7G-4N>73R0D)UVhV?mPvJC+tNL4(ucMV# zZJ;m@rH_L&30rO!i9#C$}TyCjqcmEo%@1kH+nm7!uv#y4zFWkGu6Il2@WO;) z!e+%1q#k%lHL2M2R%3S)jaXGnMV!3@-|`LYcr^rAH}J+t z0VsURhWa~iV)^tq%luR>!iXgW`f(Ug58ezuT5Td?O5^Nju?kYjm&S*vBiU~v#wFid`o5FgXW)T2w*jbZuZ z`&aRH=bZ{o=}vr>u8268m{|J$QDo~loi#kndq)I8%Xt~)2wk28?(^TFz#VFLGa_5N zNZ-HP@lN4QY>4P3Mz-$4IT8&+e+-501R->HAbh3&RhO%KWFl5Hq!lx_De2a*l(BC$ zyq+OFuhMYS9i*a$o8sj{O(abXL`~h_5Ia35b$?SO`MrkYJVT`U${OC#fCp8cmkKxM zd9R+Q8K?D?zAvIdbFDIb7R}a>_67LIgN-Q@?t^T~b_4ktQ1Az zAuDUAmD|V4Z)0tnW${(??)tL39lR_N=dQdw2U)|t)L;4Xq?+q#@Fik47V8F=avlu&T>sD;r4B_y9n z;m1inkuinC-2n;}C*wXA7m_4PKu92WAcDb0tvzN29HYplD3-&aqZS>DFhHuk7iSq! z(3%(aC15;36#h(l!y>B0UdBrx29{8L7=6^JzJNZeHjs|O4Q?ZjRkJBOPoFn5WgpUi zuWl`Papl%*Lmb7p&TprxjAor@cf>m~o)OZL9Kui&n8`(kf#!@<&zXfS(63?|v^ILT(mjS<|o{3Ibc#!qTT zI96+_L)3)ixX-~ctrff5-d|d+7%QG6Dg^C>4TZw=JwshE7$pOBUahnrt@O>c?BSOEjFr{1T4(Dj&)&2j?cv^^z&G6TzjIZfot1GhCbOEw6YK-H z2GejKgck#_W?3OcNJ&pxRQ;6KzGfrI*9={2EmuOZLlS!%;xNB6nE+u;U6f)fx*F(H zlJw0*5{d8_?1Uo($EsOuETk4{qd7yh&_gAaJjm6h7^H?CguNA-MY^f>4e~ayytB)C zpS8TtLVCWH{)e*uUY5TX1iD*+HDv?uSb=xkBnJxO;^-75Bvi}D``HIEvMO?1Ytd9$ z+w?=Dd~>y4bB+#5YB5at1~nHdg2rS$XhTr_P5I_`y1yacc#vVJaZLFJO_mC7vb|>DI9`c@og7L87E7*Jk37Bc0TN&l7te32u_pB}VD;edFj*Rjt5}(q@D0qOyV|`@) zczKn##6h}LcaTSLkUMZjqJZ>1C8cyG-2)2@bb6JDVo2^puvUr6hp7>XadG9tVVuHX zyr!Qc+Smjc7Xl%cIzELR6e7;t`BA23>JV^LMLclIqQ37E=Kb{}pd$NDoZV8KU082s zmK|2gVY{P>Ip}avRLq%Th&e{yp7Y?nlVpdA2_lNAN`eT9x~`rKtg0sht136?NnNTp znLrAx$DcCz!Z8MA$$pTw@d+9#mIRO_Z1iQ>ip2 ziV&DSCD!u1YkBXseA!mo8Y_LC0{*TLc%mGxds;awqqZeutOo?+*h(Z2MT-Oe zuX#2}^9O~8iZMi1+Y_V2GP1F?Mg)cJVDRNrat-UPj&Te0PXJh125d~vn zT@m6qs)0=L-9V-IZZw^U;N(Us#rKUW#rKUW#dmZ0@8&AScPpXeo7h2QuASLMrTFfm zQhfK2DZYD173SPznc_QHrTFfrQhfJQDZU5E6yJkXitnK+#rIHlI@U%n_gSOF8OA+| zy-xIG%y{WVDN=q{Wt$yWEJ06B;OY{yandHp0)9gg5=nR$IlI|W%5K0u0#~D;AQ@ZC zDLz=h&(m~#pn~Tn*NwAS)LUSqzo-$8dI32!jNst<9FM4 z1V(LXjX8Ozc1e3!B0itudn zWhS`{=&g^=j3JVEP_t+HvNh2CP56J0kDDQhKL);5kaiyY?|{7uGOI$?NWba zC*$pVagL4(unK7sWWmB)A`(0lke|ScfLh+@jD~i7ul8uiKf&&dh;ta%_FBxUiX@`D zi9(xtLjeiZ8w!dvT~VZ&rKCt?{nwM~P{B2by%J?k@o}r-Xi7z|9L|0&<&~-SebL_e zWmhj=S6O5Ns8(6z6G*Bi5&~4ND<$f>LZYtJSh&koZQPqy_L`O=$v{HOuJkLhy-ab? zUZgmv(p6M0tJQTVp-hz?%quK`J=k6pY{?Q>O==%WRpyF`vroEQi+ZavoxM?ICOcJ< zoob7pG|)m)FXHFQzI-g*wCW&n)7pb>rC(Ksx1x{bW2B)neGI#geybhlzA+e<%Z&lN#;tLL&i=)6#OLCAR_-u{h)?|$dNknJY~jEwNHuCRe{ zKM0?=FGc%DYB>hIV;d`4)cT-^E(G;(!E$DPFC%0w1K3;kDb)JvXDCrBaB?ktt2FX| z!gYqiDoFF5R^{JN;fau02sx{Cn@a^G6CuYGWVC=BM#vu&q)cZtMD!)!4e0~G|0&paL*`1zPJ*2KAa4}pe+V0Ig-u_=maVX@XZ$UwzVBzHePj6x zEPITVS=ZwE^jgQT$F96r)F}L~d9P9o`Xl&uLV7>&{|W5lkhvVPt3b{@kT(MI--nGu zVbkZZWixE+9zO)%YhNqvE6bl}*`usXJf1WA4DR5Fk`WS1bR<+MW3LO1K4-qDhgjT_ zMb%TNVk>fpU6j~VxW(9s><(fZ3$7R015&SN2kGbHnk~e?JvG@;`aQpH6Y<+$SA}-p z&`|vL-N1IJ5Y1*XM6;O+(Y#59Xx=1`uqkcjPmH>x;g)ukx!8RjWntY0O7MCT9{(K$p#blxieeXEY>9KjwC?0W?7 zj)a`pw~=cwj%e+w(JJh7H1DW78QwlL`(@)+(=^wOV?WU6>WV}^l!%3NyeYQjy*x+ z@*kLV(O<&ST9%_8UX~_fFPAgBwSc5ETV6eb<%-k)0=B^k+}z*L9yHw!jT~6TUy&-{{Nqnp$PFkeGJd2xw zL~t}O3nP3t;hrB^Ac=8xpfX|XtWY_;5SmtTy#H%YH(V2n`}B0L;F`{MJGU#5F@kHV zs82>Z1s*3w2u~$q^yj}sNF4>~g^-x@r<6`%zvX${ZJ$%D8PDQMr$7*5%?`v{-F`4Q zn;sQhh`JGHQ`G0>kY+1p=-XWyZXW;f#)=J@@c$mQz&{uI78EB8gCyUg*UfbFLO;gFHsx{8Zb?9B`7|bV#cj{98(+$#x;9&g6m&x|=N~l8hJ%}8(r`UK9yBLwF$vk}caY8?un#k8Lgt&I@XiIu-v$Nm!p0V` zX+3PY9kxCR+h@Yg(Xi_$*s}@t)r0-7z`<;|qdFWu07u%v(R<<8P&jc6?r9JAJ_jeK zC$V(YNBqgkEo<#MWbNr{?S0zX&#Z&(tztWKDF5)v&cu_=uh$b@*_p^R&=uvsWM@i2 z_apHA1=80;U=L(;g3Q+;I{>-oA%6=LyaOAX!KSsaWh`uc9JbGZog-n_kFaM0?5hL& zUxtI3aL4sv-ac6#P<;GaM4p@6STYI0h_OG`N zwnfF^`Do(t?6BhTnyAt-QtqPCad$&HCYh@OPLDpXOJX}ni&D=t$rs`TMK}Oz?S;&; z(!PKoGLcV@kZJHT#IFvqA41tZveSPVN{NN!7M;DA3S~iA$AYu}!0jHI$PsNO6)IU4 zJL$OrJnJpD{V+Zhd0``WQ34J@$P3$n&>~@y!b}p2=T1{9$`tHS8l#EG+d6zj#Pe;@ zO#En$Q;gTNlQartEIMzicV*dX_}Ce;$obePCedGgFR@j;%ga{Bdj;r#_XsXi!~@>t zO`22AzK9a=j#}(hao(xL$qrBFo$68(*+KkNy&AAAdW*FiaG^(J{>JjSv8Ay*S20fu z8TVVzf;~!`p=K-RjiLM=Z$FC9DpcrRwHdmXLV!nyzhd#Vj`?2X0h>L=xk-sqyVCjb zUP?Uo5kj9|g9sg3MO!*Ggl0I6DIBlzfMH0m*Yb{ZlO|Q@-<{e+5<*hE1CgauZi%K~ zyV39!_(UTl`UHd+^y+B18Oa*V&1gzw81teedQ*}bui?10b?FpuTkzcn>7BvQ_-Cer;szcAU3RUo6~l@(8;N7a(?r zR@sOt+~%f@F0dC9vMLfy5DM&dAc90sV_OA@o~20i+)E+RlcLo+sc&HZK#iGr#tOlF zoKR3js!6mbPo&mPVVj&4FLA?z>sQ`HiZMCp74|qTOyuxp9v-g>qTP$fM*u?a)tA19b7ED9b4X0v2jBi7Bk; zwx3e?gazwQjAGVU#byYD-E$ohg^N{*KWT6T=G@@hQf1pp-9i zp?WsCU?9G@G<2K8i1lZc#M7@9KW%whlZekxdpm$P4@LYJ@wo>g24QkEwciOseo+oY z@QvAuZ;B-;Cyk!b%CF3%!dg{nvoFn~%K#~IF)kzjT?ySS!7Cmy>NI-T6wnqR8x{MW{fgYj^0`nxd z7gy{^M)v|5+}lq9`e71a0J^My{$!2N2gc;-xG>k}F%m$X(Pk@fGO!lGpX0u$jQ+(UT za=8c^znv9Kr4gpF0%`AB~A zU8s)#v)FEqK_bO%P2#pWY#%ES-!`*-ys`L}%?`59#kWoDAoq%I1?(^el;Ch|J3GvK zi*EsT6ssW;ERP-KHE2ew*>U!^0D0JPK1qDbX7})`#J5fOZJX?Nl0B-ro#Z!{6U)!; zXLrj9-_L8P2^)4Vx^e=0fO+W44E*v5J^MKJU@8HoA|v~NzN}yu*kkl1m0jR{=*xQc z2zyoBE}cEXCx~y1J*K7*V2|;^)NK`eg1ssJ$=MTpJb{+7r`e12Wi5M}-=cETONCnXNYee_OiNZ278%LQT<*;B7wuXht%f94(>XypBVSiNr{Dv=}7qEbRw}k$+ zf_=w66aV7u2Xq-g5Ly6#;6o&a{@g%9II!P|Z`(Ld zYuIrboN?}MFF^U+EguI#2@WVhff!F}Cwk@aBz8eu7~nN937J@EUVjaN5_x?dLz7y| z8?~a(b-cMWS!VO*>;ZLEt8QYTt-KX`o~|4Qeb*j=Kxmv@zB%bmO{ zdsKkZd2$!gYco%l;hw8`KWQq>;QeH#+;x1AbKgPi0h-AgKJ+GWRVE+GPKj@v-^MPA zZ~6Q-iKr}xk4_e#-F!5AlP;XbCkPwsJU&I*Shw*h>_Pg^JU&C%Sl96xSaci#i}-9g zSR#@V z6lyh3XB)%>Gk7{rR11>fEJ%i2kOe$P4zPh2D8k4K*oUHb4&Nq;%wfJwB`4m<_w*NI z9_M@5$7;+2&X@<-)8e0*{4m=szU|2+8LT#Q(GXT5yWvD_|wO zOS1=G&@z%~4?eBoC_9Bjpy0uyM0@amzn$2$ccO-;#B~U|k(u__pncS|gMOpOG3~NO z-nx+We_8jx)N#!I!Q-!~H4Nf|Y0nNO^5|sX!w-5srj;t_24{GO^UAuvX;%)~gH5gE zMBTrOabHZ}pw_>0DBQD3%l6^km-)OwySO>dFg?DR682^dH?^t@^?l7$z(IKX(0O_j zbbq5prU!j6)pHr^;0fYSi_mefP>It&96a3oTZfM0L4u<0Yd+VKlIO|C=>BbuaawD* zvHqS48g9(f^N}7u-1{}>GgOa*wMawuMbHnx7@r@~zkvQdxU%ee0y8gAexPu1{n@5SVIwe>v1(T#BPH1Na|bb~hb zH4oA^gFbkIbfaVFb9t8Q`J?WFPjnn!ycVQY13%W@$b*b~A!`t1e+IeRA^&;Ua0E7D zRC{;Wk^|d1!uEGz=Nj1kJnX9h2L{8TeQ@|oO0#~f1)S&z_Z))zlHugtaH<`gE(2%& z4Cmf}^J#FQ5KSaN@4+TzEH<;K^PGm*%zYo51+B1IbSE}Tx?{7HV9VEGv$8fe ztE*tM_8>Ovk7C2_!Nzj|8{g;H_-Pc(KlG3*b09X^bXo2WZ1SgIvtcean{u$(vKE_d zG}QJ2Y&3m2|M0jKB7*!1>d(`N!UH+R5hKp{4RNhli%*bF;`&G4Dn zj38NQ)ZN&O$;M{fZP<+e9-B$@->LUwGkq5}DWkEOMV;p~z-I2d*eqy?&7wQ7S<)4o zr372P2Ah>Nv00sf&D#CgtS6a|oxsL(9vk0h*!XD_`$lXs`(u+$m*sB5CVvt(8%R*w zl!eWf)!1yKp|SG#vKX7$_hYl>6KvKG#fFW<#*>0g`m@*seuquQ*VyFt#AZW0Hk;aDv!yOJdk$lB za4I&32a$#EbyV6#bS=2NDWGCeYl{A-+4PD2r~Al$-PrU$eFJAG+>vs${rXJ={YU&y z-@2|`+ckqcLdRnXwZ+*^;YJDDD-1hW4+!(G=fnSQRlQCXvT3lRvvqIEa=?~3-_%GrOw%Xal(`P8pQ z58htf%2rnD{mHVtAiw8-MfC71EA^Iv?6+}&);Ngo)|Fz6TX`88e9=g0g61P- zWy8f|rP10mmYt&iFPJczx~EQHFNp3_RQD;W!eZ_WX@1@_gFP8%zl%5U%v&XHeQ=4i zL!V#5einc&tL4JnvzomxY$m%Hlg5_&(en6(u#{|IK4pbIzgNk3nV zn}wWrF%%7*j9e6nhPeiCitAX0x-^Yt@VW$A%d(Z#(8sd*T5$)C2G9G%H=E`0F4S!W z+rT!{msGYvnuu1g%?@NUPb@E2pKW7*l(X2zGt?}SbGvO|2VxK{>N zc79HLD`0o>$>r_$a01)eUF;({+Fd+NjaF5T)>8Z|Z@-WIGT90CrtEiu&sF`dll^WG zKgGy?b}##f_?FA=<+aS>iPI>6HTfLJIylWXr~!w5D?F5WQHhje}H%0#m+kG zc{aj&X0h|^@8Vt?*?GR9oc$p^_e1Pyd5ed5e{~BZuLMnG1-r<;q%W!LB41G6{zxpz zZ=EIiZOKa_Zk5fR}&PkXLu^1bb0ptIysH!S+<(SwQ}9iLk1sQ zbkAfjvFF9N4eTX8)p<8>vRs;6b@nE2CH|Ys-c$DIJ?uR`hyIC(|B*CEZ($!PdvGTE zv$RO>V1H&0J8$qimPQv;Vc+p2aixd-C{5A@>__&90{!BEeo-LKEor6B=N5a2o~a6t z6Sn1b{94B%e66~(hsR4xbODc-1jo&jM4)sMPwK1QDzD4(>25W6T`pZ_GI#@Nk_z+*uyI|D2t1;*0g5H$z_Q%Ncgt6F>cG!9U282Zp z5sr1SXUQv;Jtbm<&x!U~(MpK;j)C^^+KG!j3UMu^aBpNQ2`&8n5shH{H>B{l0mmBQ zPC;-p$4SuVkNotHf&B|)KEqx1A5oHuEVDRK51o~*dO2=6IB(TYS-x+q^iGzaS^vY{cfdzcwEyo7F$6>@ zO4A59G{uGu6!E2rpmgt~hzJORC`h#{>|Js-p?3ly^dbm?C?H@L3s$gzD2TnhVtuXX z|NG3$?#^CvxkD3$-=F(rcP4YQd%MrfJkNKYd7ft?4|t-_dVt<@TX@Ew;u*iUG8vSJ zg?0<~$r4&-|s9EyB95X+V^)a?mlamyLDY(+vV=XU0^u1Sm@HN`W>Gs_u?*G-0$m@yB1@zusE%L*R|Lafagb1 z?-hV)w<>q(#{4imO;Vod`7d-W0=2O3<9;v1U@Gc4{lo0~uEnr`vzYDH?bWvHyPiMr zi+%q@?d5)+f%bjei?xI8a@YO+o9z21x{rIY_7D3$uKEGz`Q78mc6TazVfUl)G}IDEssSR1pSpLBZ_?Zw(IEcg%$|Hxu}SnlI&!jEinLpHT7n?8@t z?8;`n%I4g{=5}KF?b(8>+2VR^$){}DTWrNMZ1oLn?TKvNi|paa?2(>q^TO1C{mr6{i6w<8;%xI1TQG(~zk+-TDDe!+yhQ1l@krXq?6@!RZbYr@QiTx`%X% z_q~PF*dR_O-NnBir>qG$h3NK?<~Ze?Kfn+9S}@47%=D}n>RDCZv!%ZW8o94=>KwqS zAF0-E+=A1M=r{T1wI;Im&cU_6oJ@?^s-&mZ2q@{~>z-fGYPpB1% z?SB5^eS?n4ZHxaMliL!myZPTSx$O~aTF2zJq=RErmPoE1liP9}{a=yWQg7ag1=q0f z_bk?%XtS|z)F3{E#tSwFI`8c+qNo6g2*a2K40OvdTfeK-yK1*Z{o`%xot z8nXzeJI3O4*Ib|~WNO+H>1woVU;(rLIELvO((d{G6aLPGvfWJKC_CU|Fv7QyT zcvfY2w)BOtZTl5YolTtjwZQ4d%{UF*h0~y4aJn^&)360N4X35EF(jVvx&o(r?!oCk z65c_wfQns()A%cCW#Y4ccV(hn^mD^7H&!#3mxT)H^lJVgl$y(wW84!p&F^GEW^18} zdLmO5tgI*3DxRum{zUrz6VEz>l4@tQP`5nSe}agjajyR*s4hs2eVSBwHWU9+<%$=J zYpP$|lKwmSvgWjAcS%c^7V8VpM{MIVPp#Rt6)q3g090Wx2PPPIEKnp$1jY>=OjL_3u1|5tZPk?P( zfRaZIx%<~`LQgXpC2LhlKa`|xn^{TfX|D7H=6SMi^kmnsOp66#@$m|KWsXW{e;BKT zXpjA23Wz>Khbm`MTF6SpnbdqOj18M_9%s?BI&C-TB2`(Iah!3sOPSN%ov?<9k&(4;!>S z?TJkG#9r`>_jo2=;W1yQ*B@@K`oH!5l1DFK!7Ev~I*WYDa%!{jJ*r@tCiJ8yGSL&; z?#cbrGqJS?p&PzJcPf5EpJ?KB&pAogJ+Cjk?g3-qE^hRp!gCbe3%n$mZ>R!#FG>bp&AS>zIZ_ZvL3 zkXmz9-yIeG7DdUVR^6hvxv!SOhKUUe#Yp&1^gA?U)-dbAitO$Xn<~gzmRA~?gs8`- zZR&P>1rgFL!UFqYM1oafA*vAAQ}tykAyH+OC{ZWDJ|)*Ta9h+$bJ zieWu08u`BB85T3#`_Q&6uk% zl14DkUF1KGzAy_elZboMW#*TnU}>xN0)ju@%KS-W=C(EGip;9E{#NR??ae<0>Td6U z7{i!Qw<~s?s6MrW`L@X9b?^%>cynfF74BhvXa8O0qCey3H+1ut5qIk5rwtwGPPHU{ zZ!Z27kF?@i`AAP)YyK(<7GK{++Gt)gbc&^-IId z#Z;HW4_wqO7-{B<%-WIub~I8hxWnotVx;_nRu{~5rWz@I!pl&UjJe9ld95<1qM1M7mvA0@}P-I87R+zi1nZhd2h;8*2Id^zNt>`YMI%`VU8{KV!pWb=o!g?F6V*<(yx>Y4n8XIeGStaYBbuX^TJ z_biy?Sv=q4UqMYj#C$DDS3TDDqyg|4|8m>QiCh*7ox{QhSac@KY0t*bWfOmAQ_f)1 zhO!yYu-O@G&W~(feKvm>TR7&_E@=D3p2@Fyrk(7WwbnEDWzYPoo&^&;i{}x@`5hdg zc#xBoSQx^=G)aghCw0qT^2ji(_nM2X7ET~{|K-<^gSaXSc4OgQ*kiF`BfQ2h zp0LLgJ>8RY2aU@=(N4vK)ai-G<DwhM5%Yk~99H?ihfqH=)s28Y#+C&Z1Cgykab0=PYCMDG_Z%M=U z%GOq+(y)!8L>el>@Iyqk=^#|R$#zdQ<*=yR#{>&+Zt)EQLkEGV8 z(C9T0D3C_4{|hlzt75EfQuvMR%h@(q^Cln9)Zt;Hhw*%wC#$X}>vvD~H+&7N#|4bv8WkW)fj59IZAfplL5N#pdz)R~J=DQWi!_&c z%r18i^@v>#n%cWAV~!t$*=8DxR$@69RXhj7znqbIi4GyY<=_wxPb(j=|q9_>fW z8%i!vlLZlpnX%}JEa!rX=i&`N@I)T*#P)c`UkFAJgRUhBBbb?(5x}S@iGZe29~Yo` zXkte2I?H;FhGfNRVq{jY)~Z~r3G($_bK^Zhi&NPFtgi!Tn-Ohqnv2c31 z`skV8dLmG+M(H7kn*~!^tS$qjR;zCAC>KM}Vsm*da~^$@SbAO$`exHBU40Xb#Jv__X2)Pnnp|J@qF}e{NMCm9 zUk~0~+g_OP1BW;P{T+9Xz{{SjhM7UL4A;3Pbt@W5NCCbn0Kg^J=Qwph~pIPLB;Y;z{_M|*X`1`6RN;F6OE zSwB`Jm$WuRDb&0WXkyyg&6;+Sh!fLJtAu1spPS6pqM2_me%2Yk%6DC%X1))>x|LsI zf(Lasv+E9M=97~)^NhsPre#T|O+yM#n{G`!ZF-euJx%Rip>{(`POdF%)-JDSy`gCL zs#d!%RP8Rey(zxkVYBvQ;cag^g;%1fqs7~-6xGyh+Y69%x}6&Ky;0k+*7Nw^s!Vu9 z^nhvG2Ao|9LSi?YF-f;0aCeoIe?&0# zKsI_)wWPgiLgL;uKWT63U${37NZgwqXIT%Fi&aMpFRX2TEP!EczvUn9TDYaoR;j^R zl+gwzrEMGO zESSbTS$#a&7gvscgjXX|hV!k?ElSAM)hdxXwQG~Py1Ez3j{M*yS#lKEH#&+%8$*NY1EnbZXsL_Ffhm%_2}by?IPbBPgEYmK@ zqO*$c?-q+rzBL)K1JQLY!>Y=ngy5G|BKYz^bH3oqgOg3*UD_Kh!mOJwJFFDg-{H&o zf-m28n7fSivb$@NACY`{F8DH--@gj0Ga~2G%(MEPMBLM=`^ylk9e%0|Oc6QNTtokl zsIC65ZLX#Nhw&y<{eEt)qJQr{Q=06|I8*L|VrHEu?PKPiXYMK|f8YXhr{MD!_^$`^ zBK4{(x=XoeeLRMFvH7~Fb+H}W#idNhh_(cWy~NxuDqRBSe|alRbt%*h&2)`4da_~4 zc|(X$h_M8gD$_ls|xfH?1}(G z;$eE+N?%m(VSY@M7~ESB=FZ;c(hT`C{pAh%%Nq>4$y`D8@4rdLH5xlq+6~Pds=^Uv zkCJvn^G2C(k>on>cGn<8EES2Yv2HDvjO0ph@y2p-p)Irk7Z$J{5j)K=?kyf{S&~cN z;a+TW;6GK#vL+xu+xi0Z5hxJ>9_$kHkdj=#qE6b@LrQYNWO%42YlbKLk;<`Jcs1Ht z>M~1mi4uZkRtXUf@O-8;_32wYE{iuCcGgT>!5aL#?IG)q(C?H(;%QFEPGo(zF2Zr1 zb4#{Kw(i0mjKC>(EhGmXwd=c0Yd*EhUFI8sQ|#w=NzOn$yFAfzx=oB8vhVLU8G70- zcbf)1Y?rro(dRk49Q@QV^=Zh0{aHAVMIU83AvWI6Cf>`YVO}v{;na!qu%Vyop@=joL_p!M zse)=U@R1p+DR(}bLB{f8zpOd~=+bI+)OKa{e7016n^P~8(sb2@ z=KJCYXJ0C%>AFkJFNFHrY;L|LGLh!~UK!#CT9{jeOl;wo%atC)DH1ZVo-Gq^Xl+iU z`wePs{*Th$ZRHk-1KLWP)p703SHxYz?fu=U!aW_-{z!oi{&wP<+|K4_A~UVC|9+8~ z(9QfxWM*{3?qkHV&5+OBBc8?QA0&Rfh-Vqs!}_fr{_f)XiG7r4o!`gbO}uufzoKG) zY)~cde6x%SSnXziC2>)BsJTL9W)AgVDlVEfS_;(Fqs{%IV9woApsv5${E7tX**0tx zsJ4zJP|-VtKuu+*UZ|=zi!}n*c0wJ)aCNvVrBy6HmX?LWo*Ij7eG^kV>=h(7W>k9x zDUHPio`A1%>~uUNP3kbKk_Ho^geG-XNuW-QV-9pr61M1$CI7K4BA{;9mR(oa&~R*Zjrm$uJ4{?UTK%R*&K8c>N(w_7_)t~hUXT= zPPtnYJ0j67ia)UL;}*py+rR4;#kK76M9=9K#Shr`cZ=e!cDY*=!=PWims=DAsyJ(w zZS3W6h~l$Y=qnakz+&&R@fF#`Hf(Y)HsudCZ9AK>h0R*a@?K=~GueWCw)kweh77d(KGK?&$7onE57%vs_uEv3$OB6U2w_~;EOdNw&&YR z2^E~(R_{-Y4<;nV2UtIhSDS$MY51TV?T>3_RW@H00%&e zhW~gHRCi{YQ>9GH^q(XoS5_TqOfPOh~R2_x|2MlFOR- ziM_vvr?mICznqd;RqzsNTR&Eo7w1-{xU51vK^ds*`KW}%lT{-8JiW2dwR>X{chg|fZrZMJHzkFiO@SHiTYKYXxPd;t|~{Lm33CfzEEGqzLA;LIcKOkIp?Z6 zIe(}+xoN6SZgW*9x3&7M2^CbG3017jLRDwNa#^Qfl0}3`iU(F3PSu&QL)O_k^IKJC=1(%Sb=LW+&a9@g&f3`?RcCftnOQr#g{m{V zt*o;oucoS#S6gP5iuj5 z4_9^O->&Kuv{iKqI;c7YS*lJ!RQ=XMud1`Km&`0#__?aH@Sv=-bg|Xz7QZj+EL}2E z)md_hgMvo>a6&Wy3YgkRGkMJ zsrx*zRn>XmX<299YV}@=R(F$i=BI_u6*zqNjbsnwV7gsQx8w5q)EZdG~XL#pz|M`fLjn^fy8+N7RvXyDbsoD!{nl1B-WP2xuYPOm993s)fvmIaaZ}yr@z7w{3Lrep z6GqEww~6c`WHU!w*;ePuEGo1nf*X{D7UAODAcHOQo*>$^>vFmm#XFtO= zJMFsH?3P(Px_5|O*E?L+#iRQ+%k0u8jP7&n%eoiHEJ}McwlC|^#J;R&d;79pSJ{{K z>SABkD{NoZYrL$x77?LT%j1Wy+bHW&={I)W>;7lg?fsm6-`+dyy4R=Kb+0dPKSQ5g zcHKUEWEPKp!!35*8%D^wtDZ3WHMi^bYb~=>y34NHZ;z~thwQJisBq&`_GLFdZ(laR zurC{sE-!loL9YI1*B$V?%%XJQMRwhR&Fsgy>0Z0;O@8~ngR0nd2i36a4(?^w9o*Nh zJJ=!LU`0MW?~tZ;-65CTb%(rS-*?C^`@XjZ?7Fu`?7Bm1*mZ~28f`9*H3Sa7ZYeFD7{6hVfkY|pfe8;wy_;Jt46jPnr~8#XnF?_>=0;L5b)jBe@M z)}IO;8#AiGJcb##Wp~u`pIpr_(zJTR)3ybx%kRwnao=@G+qS7OeFtw)m_m>>gkit{ z`E)7(0EBJ4VZe~UU?_jWxTfoaNMBZYs49%>a8UUNNbz(ce+FGN7ynovFEXE@LVS8k zriTaKG+0)9gJ(a+f^B(l8VjZI&}hSaDMq)EB)TF2iJ&S=&&V`RW(F)0Rp=`-muPub z#@%%cIC9qk6^))QD#lTuq^WpLA}T_iZNOiODCDgJVziKy^R7m^L*>07+9*jyZ%d+H zUHFMuAEMrHe3@!`TBe8jzvDsEV8QPV9v;NP-|$Ea7FoliwO~LJI}o6>iBHT07HI)lJ%45#yIfu40i*JbDovh+>U! zOG#RDNdnpy9^c6c7eBsr!qIn$2sf}u!fE5W*E$dok^ZT7_JXR>=qCx+>pi5utGpQ3 zp*X_r#g{}lJOezaz6k1^P9v5WPgTMAjLS(! zW55a?MK_|QkwUqBnlX&oyl}6JRuy2Jzilhj&9@ntEo1#!(Bg}@I%a@vTT@>#$@I7{ zuVCAzHZ*Fd(a++?s~Dd243BXy{j9v(&v6%+2NCqHnNd}!xrd@UjPHx9en?aYkH=%) zgTW?K#FW5&)dHruH7x_iKBnI&$Eb{M*_>sdFI6x+75aOO+tV`Y8b%NL(JBVKzwngg z#BX$=w7k{EVBe=G_H9N$Y2zmx@Yh}Tz zx(f&8KSauollf&xpHq2??n1H5sLp<*f2#b`AmjlYR4$){p5_7^-7t1dd;?uhq0a*- z*?~J)X?%s7@MN9w2G(aip6VGqd38&T&xQD>h3K6AlMUt%7~KCc50qnpvFNQV zt0&7Y$Fn!G;6*&Nl!qIz@IoH#%cBJ>`X%eZha?Au)O+>*Hv{GMQD&tV0i4*qWIqq2vB2Ft z@Dj`F%(8yv*(+GEJ`axL;p162%)=iTJi5s++QlIMt-jGr?;A8$@vaCnBk&xs6Vh%( z9=wo^yR3nW?_l79<6azi{2O0J`kBg?!;^I}xH;P}SHxhlW&Iv);#ZUuPY050W{j$2 zbI;O1l3i0ll3Vbw*nyDV=q4Dh8cSq@-vnM}VB-i;z6t3&Dla6?7!b(%kfeD6U&f~b zNsb4SG=L;Wv+P4W*pUUd@X%R?xjjZruEy)=1T-?teTAW9z=D#XpmDK_f{rv0!=nh0 z6ECYpz2dOAPQeCRpKxLE%AgqHd=jN@eh=yIDt`-zf;oUFuLOdfhlA=|LX_JbN5T5| zpD0*dD$wJ89xMa&c!$A5pR@329)5~NF5r;`hWU7m29zS|g1=4FQbUf{6o(v%m)(|C?Ur4 z9df>!fSiTLvC|6^LGAcnm=rN8f(^7fpbKhiBVrt>A;ys! zVjQU<#*rFg9H}A3ks4wgsUgOZ8e$x|Kix)*BQ?Z0GDV#B01uzV!pnGcAdfC#(LFrp zTHv(G0;gSQkEy`5~NyS4$-$4F5H27y^q;6}Zv)znJDu0n9D2H`KvMJnNHfH4FZ#{p?@ zC$`N6#4^m4v5Qe6#a!SX+_)%wbpr5}x!f34t5gA&FBO0VBQm4CWXkuzwVNi1^gj3a zkrt?YL-6A(aZtHn&3!KhE5Ae{hEPM+O?>5Z6u_g|Y zRwN*j;lH6U!1{my)@7utgSk~5_$A?laDh^F2eKl{fQzh-yel!(rIWR_CG_GopkIQN zn3EI9?tc{NTPlAAC^bNm^8PQ7mXni^`+I^O#;f?p`Vcu!#s7adB~%vZ%Ofxvj6~4) ze`B#AkL_YPSMZ$mhPf-&6hEZ8>qn*25~T*!x)%r4s0B#+pasm$NcX7x)u8$tYQcLu|7met|+Rf63f}lq5%u7 zc>23CmrI>p&i0xh!(CJUX%5w}*%2z7f@n*Z!?7b?skB!*U@F%Y`&77t*j? zNW*d=4a3z@&mM&HL+moAsh`xF`ZAz3sL)`*2KAWF=q6PCJ}ehVl|L5LgtES!N}*!I z|6YQ4;8HcLrA zCSQBv5WFTry3ngmtO#NfGNina2`}Ow>q9c38vc(@2|i|h5BNC9;KAK2G=PWJu`uW1 z$%gq>>~dTsiIiP70g()U$HMUO?F8@<6gBR15!4Z`B?cUIf}+RT{mZ4U+Xw=_C5bpC z8w6Y=i8!S)Xw+B|aSADv-ctFlM9ArJu;l}MNd)~XsQ`?fcz6~7<~PLA zoGK8_|4OPLqDJ*B7CV8*`m@;UJf|Z;#1;`+7P^^-wy^No9MORQ5nJLq z2@$gwf;>kjMEp%)zLXb;j|_;Ir$NL#4I<`g5HU}KhDkDKi!6i zc^X8_OA#WjDr9w*^D&FPY+kDuv*nVZIh? zgS$wW6Ksr!#@_Xs(ci`5$;$x?-erucR;p0YTn6#koHl@|W8BOP%Qo;0N4yA-)H`k4 zb}aHGv<+;D*D=cA?N65!SWI?-)JH(E#bg(Fx1`46Hjn@};-K=+k!C>FQeKD)>Lk|Z zdSpm96Q9;0^f&;kyKezKUd4htd5E*n6dq~KA`kHBDTeuT>o1Q30dB>Xas@XJ0$1EfpBFMAE? zL6yG)G$)XWMp)LKZqNyK57vi>KM7wRZd#XAljrczy9Nt)HhAPo7VW^Jb6BiA&)Lj! z>+;+whWSmbEpD&cX>JL&Q>j7C!tEq16t%%3uvi}qmU=~4D7GZBQv0ly?X$8E+T?yY zFjoE-DJ>hL9ahpB{Vys{?K4BR&q~ogb>iA*m};NHN$U%%MZJZdW6`cWx|qdIhT@Xt zUchr#8|JIAE1eeFlc0tE5jJ%zxKw6|bE(xDms+h2mercBbM*^oh|gqWtQK4<8w9sL zG%&W~%lI@Qmr7@m;XLv_S)#PVwX*kz%BM_Qhx?Qm>`zKty;Bdg_>QGNZb_ujIR9F* z9Q{Ui@U>()I!<=*wP%4$S4%psC6axj@`9!#;%K@RUlL9AlnY}$oA-BS!FPD*Y!;e} zB@h-F%Ok%S=JPQcBZ{h*{hL%R%qxT;Y64!7l&tGDvaZ+2y1oM_b&DkBdXksvpd@(6 zdO=p=-PVW5`JN)Ho)$yaZY;8yM=v(APKjNGt3g&M>O(h!ti{d3;0rD60F&A2nkEc& z>nj^v=IYqOh<9c(Bi;+rwymjVv`d58?8U-%mSRysDR^g^ZK?ZB+--g7+g2cA9n~^d zQUtlj`wAy%iUto$S^336ii-I7VD*JLhZ)e01ekHU(JY-1(rrf7blBTomX0j|@y}4D zV}!}|p17ZDmA>uilZkLbSy@HcGGl09R>ELWY`!1>7n#E1?XWJfU zhCl7`{&!zP4}g7g7aM3&Vbp&(X4T^Eh0LnuG+54>hv{ai#Z^CDm{s4a%&PA-+-B7! zzp(Nd4X_qy)jpExJ+cq!A1bdYOCR|GjPN8mQXe55-;XMP4%)6G4vgAIUPAhX%6Csk zWH}sEUL9kPLda3R1y-bQz#-}*{X*qmfYtYBIH-I*I?x+9D1R3$TW8{+d>M=>j)U^g zBmGq6yTa6cI1Vaju;x7-2jxFTng)vq%9}sao6?6YutuYFA-=_p3w^#v$x_@cS!!Ll z6qJ~fj%!qEm0Rgve76G>{V&ovNaH^XL7DgB3$_0PphQ>gx;OC9+tC{FsdkCTzKM5O zh}<~0nfPuNxQ++5^1ufyt2+-ZW8vB?ypu(?@SMANZf~Buh>fqr#=pQO|B4A8jL?hYzoO3J@n3PtKgWN?&;1|f zzvBH;<-ekGac%+e3{_lU{w(!RJqo!66kS~{QHttfiLzc{w}8S9E3Kr&a;CG^qMZ2} z4Z?FUZad%r2io)u(hpU>9mek<98~@W(r;CMHFyYFCQ$hyz@JRXO*iEs-K_Goi%44> zRA)a@<)pF+aY~GalACUthIGBk=YXrOl$>?bZQv#2C1>4qKKMvi$yql&fb>O`zYSb< zyyUE#8i0qim7H~xIg8$iKEy$ZLw<-_xXAu|fZR_gNS0a`+>bZCA8%l#R=Jff!FR+t zA3<6a=cFj5#5u=6t71Di>|%jyd0;&cyv?#Y^3W_6hJoGVEV7*E4CJ}(c(;AS%RPV<=rj{YV}|Qy}Dx`ZUeFZx*MHT`L(LNyDB$x zn8B$6B5$2WumlmZkou_0fpWG6#qM%|Vp!+F@dgfbk1h2Q&n-HZzS&-GH zET)N$^YE{D*cy_6k85N3ajf1OWM>b8JbnmirXGU2 zpNfH0D+afTsiHq zYFmqI4!Ak%?}3}oXdG(O#%IYi@BB|&zc4Frt~4uvjwHUpcZas zf4)cVH{2!F)Vgp9C_&)IO09A$eHq^o_<0{`QQ(Jm3nB0`wixhpkc9`cNHrGuljl6f zbMtxbCv3czO(@GI?Bx?1vB~Awl;r?F->_NL_?!=U-q|c~HVcm7bL+6Vi`YE)X3qPA z<=?~eck%hlSwTHsFqSW9%oeQT3)2n0=ykv#Gu8!9fro(AV-v~!m2N5fb+ml~LKhzU zF3o$9k!DKP{Z*UG?0O!A{8SQi7pA7h9g>*4zDHU`5^$Fo^YMX@XtqditEb8y&YI0= z%Ut2=WDn<))WJ$jbU3I}+)B)i2^4`YTKy{lQ*_P#P+hYx7ReGU1W3((qJSwSui1}) z(t5y@x5uH4RltcAODzI>bhY!FWZnZ#@-JP~}**^YDX!1P`O}?k0$@erg`JRR*-_y|Kdm5U2PeYUM zX=w62z{MWUE7S5wQBWuY=5&amcXFwk({+OytZ_0m*hhF+CdI{mEr#BHEr#Cy572)M zDLVEG6o`F0vVsU`@-qttc<^-=YQ;lq2`TrqUp;naf>$pbEFw<7QW8dNy7O#8q`UarXl3*V70cxlEtbnCw}2Q>CKACu(PFuLLTJ_hDGy$P zkSq@%pkFN(hR57bEHao!-lC8!*EzJw`rEWAHH=!UpD)owg=G1BKk~47AUb@mg=G1h zOyY)a~@9R&naw>c>KXQ>?|)Ox#6}Q}^R5 z`2TYp;MqS~aq3nW=8jlj6v_#HP9OYUQE1KZ*DNfzvALiM5z-2#`2chj&Q}9;4x<*U z4JCnUbU=4bBH^ut^ZmIFm~sorn15c4bcf1oK=x;$YO2CR=Nl}v80PWSvFQ?ze8Zys zc=T1nd?wb(0*MV9i&uPk~CkA6%NyuU-5=Ms>nFw%EAMu}NXtM?vg^$9F=J7I`5g#X7nAQv*; z#VGg#-PY(Q-}{gEkg909e<+=gh4BxuV3-HrWuXo{^c+d>8|6zwg6DjNmp&%J<+_Mj z>N+2<$C2P(k0Zgo9!G+EJ&pwTdK?Mv^*9pT>v1Hw*W*ZVug8(#UXLTey&i;?9bk9$ z+(vqHS!hY%a!emRJtR2 z%kD(}J5}ButY#n%5TLBv9gz%+$Q|(}+(k;{+&ciZt%gfMvLcDX} z(=6JFN9VFw1)j5o<<{r9)5tk+utVPWOOU+90U@2dWMQIjpCN!lar+V!?z+NACEno& zp+Zt|4)j*)15(~E2W=(CInZ0laSrrWBC^iFfq`AAuutFfEP4%(E@iQ5Jm)2rdlAoF zLq2^s+k_o|N&>p0^soQZi&kSE}Z?>Upbe2dO@hBf46gt5{bS+`~iXvQWO5!k9er z8+qW};t=c3l>1lQi>j&H-y&Aw0V!yjU_d6NR!xmsH8pD0bUg69HObgTdf<6$7DFvB zIg3P_l4ISil3IZFHl|hx)LNl#X@YOvka# zo9Q^#c{3fyI&Y@qSm(`j9P7N9j$@rS({ZfxW;%{_-b}c64Yj$zgiF9Pi<{uXiA1bl z7jmzS6VZvdfRL)k+`Eo&_gc|P|6jRxd22hSliu3xFt(+8m$$a#-sP?BxOaJLJMLZH z+Kzjdx3=Tn<*mIx-7=~1)^^;xytN(oE^lqey~|tMaqsfhcHFzXwH@~^)Pb$Cbnn7% z!IoLNcX?~WpJ|vgj-S!T@e$(Bn}z6tjY_E!2X!MSsz-bU5qc|Q<|X!LIw-`0wai_ zEc<^v2>-ebJbV)izrrJz!^R;t9M?((&cuodhzoPg!b>VkX-VZ`L|y+!Od=dAZOK^bnXMBS6I7#j^MkAe~^4Ei!_eye~!9ZzP5Q_Sj&<$RSBmIf^ zpGaR^O1caG?>smXW)~m9?4kz?f50P+S)_o+y0X|No^u8^=ZulsQME>!zug+eX)JVm z?9$R$z>YYv#)4YmQrQY;eU7x8r2JVF?`yWo--H$j%2qgwT7k<}I7_s`s<>95xJT3q z#idf!p|`{JEc^+NG-HvKJl2=Rp65AjNYydYX@|QLw8KBba+1#5{}RVJSK~P6Y8>a> z{UH3GlKAI_Ku>az!7w>jaGX|g1Sey9BDkI=}yz-tz@b&xxby zJ&LA!D%AltA0NrGf8)U}EciGNU&6vz|AkWd`PgWOs;~T;R87vQ4~wi9X=J@fBkM&O zpj1Oi){98?J+1PBtexV>ItO1;SJl&E$U26F-{X;^s4_zdxWsm`xN<--Y|AucfgtC_4FE#Zs2O*Jh`Q%%d#RMWCF)wC>4H7!e1 zP0P|$)3P+xv@A_EElX2P%hFWSvNYASEKM~nOH)nD(p1y3G}W{$O*Jh`Q%%d#blg7^ z#Ag#PxRe!a;0tf!3zxEm@AAc0A&3urbD`zA-R44*T>DlOy3KrsZj-X?dDyTApT_mZzDfg zZ7okTP0Q0v)ABUav^>o;El)E|%hOEL@-)-5Jk2yMPqTk2R8DzT5aI><5h~{aIPS;p zuz}&^>N&sEtsdbjYLtH!{#oLNgKpuW0EhiUaWW@^_K`qVgRvkGomU=`OFJ zJhc~b^9%Aexf6Bd%y#nGh4872Hrq>eT)ZZ+PNFV)hI7b=i1)$&AO z`Ew+$Z}~7%X^QA=DX20WAk+GgZ{}mD5T6RS6iXvBoMr#QgY8*xBM&vCnbBRiO3^5x zTS|%OVoHpH4XkOAreqNYoaBNb-BP@59Jds28^7*=YPTj^u?ZU;Ek4x~i|dhvq-6zJtn2(v^{?%rhKPAvR8i+s#; z7Vz9`p1XsMzm$#tFPrcbpIC`aI>@F>K%kem*v#MA?5la+e|TOF%Y!@Sb$sqTHm?qw zw}a;gSpFY;eotQDlHM(1_u$v@5Eu$mD(P%bjSVTi3wc%~*pk+J6$J6U@{Vxmo>KR3 z3SwP}eArf8oeonFchm%NM@>GtWp#&P@f zUgNlZdarTZKE2l{w@(dqXsZFy`s6e+)}hMM1U;rOYApp_wR-PDT4;f_G_-oH6Q0F; z?a2V37fQ5x?OLR-s=Pp}z2ea78hlA;RZo?FsD)QG&2y+3d6$fn)Bz@&@}kb1ioj$? zZbT7X*>y z;sBiLt$C;P4r5d=mBYTb=AF`8^G@lld8hQ&yi-YLCP^$#t_!a*M12mjEO@Metp zWm5yJOl_t&^f@Kl3^Ms8K!}fVQ_g3+g*Ly1$wI=RiNUC+S%PZLIV{eG*B@@ z0~I4QP%%OS6(clIF+u|sBQ#JkqD3qsTMckv+CaV4{u(|Qjjht7PCqEX9UGGDgYh0T zQ$R;@8hgCjD*cpF4d``UDgeO=aOS_YMLGSqHEK`nA}@@_81z zhKClgaAh7gX$SO}^X@Mtcz46!voJvT&=nnnw#2GqG{p&oq8-pRIyp02p$IJrqgtI# zmsx@l3P#IhQ^>}RXgmsY4S0KZHsGw>0o{AIvje*KZf6H{@7*F!MlT*-Z?H%MfYI43 zR+q;{vDg8g(~UMP&#_50-BZ$}DmD0UeR1%CNF+Bb_ufYXbeTl`_c@uKmAHipI#Zu(R9 zlX1gAfC-Wa~QIgC7P; zM_te>Z$QHj0S!L{H2e_I@Iyeu4*?B71T_2*(C|Y*!w&%sKLk=#YHa1<%UO66j}F1~ zmPPmRoK6NG4_*cQF~J!tWYlW+nxhGS_)k2Nf?j!p8vY1s_#>#{kD!J>f*Sq^YWO3l z;g6t(KZ2<$H8>0B^YG7*BTqxiG7+(+g{qu5#M^pXAEvKP8@2aP2etQ5N457*ceV8p z_5weR{4lXs5kHKrhrAKZRVSjk>O{05713OEBATmCM03@NXs$XD%~dC|J|t;qLwf51mIkoXPg9PyZfW#~u2^T4g!0FhqOkAJyUL zglUinlW7(n6Eq#p1WkuCLDS((5SXki4^Bbsvg4q`xr;>@k6@?RCwa6n>2Rjlw3%`G z-=2Rhg9ga0j?qk7p9=whPU*w^-gu$lCmj;KOK~aTl zX?j#GEYWQKXbU{*ovC54nVP_usbR308U~xGVX&DR2Aip2u$dYLo2g;2nHmP0nIZ;T z%fpRXcomOcPg{pY-{3hdv9R>Jz+lszp+Yfw?OttM( z=4cpfj)uYJXc%mchQa2fiovR~@MIqT5*X|eT3DJPn;Lqe8K3A){nr#n^8iX_I-Td2 zl=*BafD&CFf+#%r!+bVgAENQw0u7WDXrQD(10@9llti(x^gBRFoZ0D$*ev_iXOiG8 zYMx&nI&+zbtv=h>7=hZtTcy+_ysxThgRaj*P5*b5WByyy1iD}Dp5kx4B{|% z6DnR!=7o>I-O%jYlF$k&KLWpQEWjbRru1&m)(JK^n+bV0IGYK1Hw*>;lUq}IH|#^6 zwpN5@Yl9Pm-MhirOvt;TB{X4jYfA5i1Y1)o?H4J3<~sx#3W5}^{7EkiHdg$j${!to zrlS1Ws40IoYRaFDn(}9(FyQ%<2k(Ia&wru(>Bquf@W`bsvVuozkn*R%q0OAXO`B2! z7R9c>Y39d|Y096+H094@n)2r{2`u~?RS=fvAdj?Rk@Y-!E&&VbzYihYpfu^kf^YLs0~VUWBUiG>8Xm1hQS6sGG+SOsHc6Tp{!0p@nU~zE6TrJVpe?CR zsyW&vXL4L(s*}G!+oCiqE%DlV6#JJodcOQA@M5~8=gY4lJ*e_p6#JJ&6#Mge=u2o@ zZonQsud`@xvL}e0!gF3^xfk->g%rhpnM2+WOOU*!28{}nx5y~=eT$0;r^R}DO^agx znij?WwcQ{og?K}keNBsE|C)+ouMzewu`SZWELM-_>}I*GdG1yU?Y7(|?3}{OjQ`+R zPa1ygFAepb+ECxAbpF@EP+_Sty{i_s+Rd_%a8O1(TYVFpjwOgasZY_%aZY_%a z?qaBQEsJd9(Mu`5+5?hW0Q+;+fLgYapsMu!zno=Y{sWJ2G}W;v_68ywp^G1juV&Cb z+!iqoCw_yVp81`o^*w6htL@!~F`%N@@6`;%_x=FTagyZhd$ss#d$ss#d$ss#d$ss# zd$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d&m7V@zu8R zg8#6B&3xf42#mxQ?&pg;Bfc8KS0KLHDw_-CwN1u_j>T8Qz!TWySbR0fg#ZBN=$6GvheJlYY0yxR+%Jlh5-p!EzvhtbRzV&QN_wy^@WuwohA4-`5U2We^Ua z?0s4onSHClXLd+lvrmh!woi+%woi+%wr_vB?MA*&i?6m%i?6m%i?6m%i?6m%i?6m% zi?6m%i?6m%i?6nCOff-PX0dQ37Ji&Xmh+r}JhvUsoyc;3XXDqh2|+$#C!4g6P3eXp zEwkCo$N8Lze9k*8524ae<9R#S+%9bHZ+zZLmfwKqo4lYRE6Cvm9~*q(T7Z&CvDFUq zcwJ{6hiMLsm3p*&ccYgw2L^brP5+ydlszyaw296kBeeMvEqu`CHHPspjyG_i0T0xN z;An$`@|r#H0ZqeqK(hxvpxFZ-(CmQ^X!gJdG<)C!nmzCVEp-2Z1opuBJS&4|jpo@W z^X%Sa5BwmWQ);>MzA1#5rBQ6*=|$0|H-9UzS$~)fG$E2>NeSyo_L7pz6-ir0|5zI_ zA8UpdA0NWV$&{nyV_|<{O&R3IS7)-&Y#z=a`;#^HtIsXGrJ7|AT(U}(5+hMj+7Xl? zWIOtrvOoDuBgwmWu>1}bUk>2V-ie?lmbgMz;f(@i7 zqW|T%aG%lGYk{%XNAmhF$z$?Im4{R@?veuiOR{t-BgfvCZzBCc3BmNly3~P#4b1}zXj>LD!(3}`VAaZz8s#n+i_67DMGq+$3gjr zkiMq!Enync7YCJZM!H+&@5j7Fl`Hx$lR2T z3%=Hj3%=Hj3%=Hj3%=Hj3%=Hj3%=Hj3%=Hj3%=Hj3%*WZT%bfL3DI>9MgI7kLiBGf zVPL<64`hdvV%(5Em8btY*-^_+r3yr?%kZCkK9Ax%v5;5KKK=j#j2g@8y&dPoQxvNTvd`PpkIHb+Q4r#U)hcsJ@Lz=C{A3U{Y7qg}e1>Cd;WHdt3!mZGTKEjd*1~6` zYHM*K3&(gETa-mHHwDt#Xt#Af30Ip#{5wd?SH?kFzA_Hd@|AIrmamM1w0vb8q~$B) zAT3`R2Wk1rI7rJ^22g5~^U9fKX$^(}bVJvi`M{)n_Mob=YMTwr81Y*|UH!hIs+F=Wcc|M=(VU3kveTk4KemC4lz2`xxR{yb*`_XW1Z`(=ve3aDoVuY*Qf$Vj)zY7Q`w=q9j5TmcEgBX2P9mMFX z>L5m6RR=Npsyc|#SJgp`zN!vl^i_2bqp#}zbPF;1syc|#S2ab%xE?;0EDZC&zC2pM zqHoexnmqSUff&gNLo$&0eK1sP6mc{mMt_=IfjdGFV+{>4*3b}R4Gl5Y&=6w{4Kdcx z5MvDuG1kx!V~tc1V+|Ib#=~C&F#sd_84bAdHq%EVoa zJ~(K*0ton1UqSl0%9}f4Pa>;2)ZzrZ*YKZOSXw_~No%7O3{L^$jGitS=dkAz6WKb9 zJ13FI_5r($lK7=o9kAjSk{#DtjdX{~Yw)#}Q1_h7LroD)WhJagPh*i~Jn}yl9mJz= z8s;;xryK&kQ!)f9HMxCladMjoGg=bn^tvDf?1ia6oW36EPL=NpY&$~Y+tZb%M)nhGQY!n*F(28$o!7- z?;-tN<&~z#LiT^MV3Y^nW1&tw^gPM!XXHymZWmmr56fe6yOcFOzJ{9IZm7xahML@N zsLAbyn%r)v$?b-k+-|7J?S}i)ZMof0liLm974xjq)ko^BeoXGhYwlVl(%cD0(gUC) z*`Q+7HPYm6BTeo$(&TOe987T|@>`5I{j`EuvT&?9WC)XnrXPNv13K=YwTFj`x-kA zGrq>3L*ht>8DC?U6+QOm-pxa2u+S_XY0n}L@n{`#n0elz*;ff@R?^E<|1@ojTFnx) zCC`pkvMXJv(euJj(WRurjPF9nVa9i%<1pj9Fy3KiCyVys(N!##$#ZtF+>3ecVse;y z!6xs5`Xxx-;!uxHUh;PFpB#r0ly*;e!o;uh6z;l3I?Q0d%I)=v*fYQ;>uO2XCXU05 zuZiO@<7?tL%=nr(4l}+cg&k(zVbL2AUx~#U@SJy9?iD=uadMb>(IIUA1cWWTFjfj< zJ*oG{UmEI{YD4`}t!rNDIL!DieE~yVI?VVkO*qsmu*mH^@)7A0UvfxRcr7szdyMNl zN?WM+vG_gKlCC8tC7HN`>SBd(sOVy4(7jHVU97p|0^)1#xPbVYI}S6x=8nURuX&sc zh>r!|$0iLdw2((mWsz(i`I8)Gb~wb^mU90p1!5H*kVQJoq)M$88ns$z)N0{4%=lV3 z4l}+M#ZapUi#)-jmyyHF%aU5a@e4i&wQNmF5jg&s!;I}C@_*P=9YeSROvtxA&S=Ba zBxZ1;^5K}OiwllQhZ$e%ePCPCVaC_mahUP7b{uAWtsRFMUu(x<#@E_$nDMoC9AIp}NK4igFKu;Od$IIQ^EIu0wowvNM!udU;-;%no~0V+Byy^zP66Tim$EXu!1@;G@|flm}|Fn99Dd7;XCrGJ&qS0uaDy+#COEk-tisr zwRe0+eC;(oR{L?FeZJHUw0C?*eC-|I5np@9cf{A;@g4ECcYH^D?H%6{UwfE!zGmaX zMQ4LH?y#g1ME^5e`6LI1VtkM%by6k6sgOyRN;uu&W29-4ZXHG;oviY`G26HY2l`6~ zPnu!W!9n>mKoDaK{;@vSBl9OJ#;0P6@-||gUXAb_TUn?b56xiVbRKzxMQiiu1j9Up zz?GH;XA!N)6-8ac->L8d$~&$F6uDW@rT^4sL4TnoE-PZir6m#YNl>2<0w~*gJSb1v zSjwLQf?g`A-?FaK&PbR3;|cp5e=DvOo0dsr-u z$Gj}|G|wH)a`*D_9Srlw7ZX zID_JeQN9ius-3 zkua?#JL`3VuFK=-`lF(&o)$ybXIb=I9$jH%ogI5i(iJnd#kYd4$MiN;jLXt#z3Mh& zs9L{*GsGU(_&gc|ot%??cO@D@(vKjPmXVS#Bf7Gs!~t8VNSd5phUL(>vM7f}amC@x z;lu^z_nPI~(GvQ^*GJRj^wBgqeKbu@A5D|fN7Ll=(KI=IG)+z)O_S572Q)W#NbOCZ z50NtAz3A)n4bqCjd(qct57J*$em*=Gx8VQ;>C*@^yQ}2vuFpZFCkl^6U!OaX&QSR? z;knpecrW_;R6zGQ3kO|m{tT`lJ{RCT2c<8d7H(YV^F2yl#@&*o)`d&Ks5Yfz^LLe6 z1;e>;~!%aCh-aHvq@Xol!)ef`e~ZAe*3{`{=@;k*RKwEENRavzX~a7&ndqS{PuOpd;3iXhk01?+kQR4 zUG9|pw%;2_zg79^;I|J;-rKJeILlDUZ~K|EEWSg0mH1|P9Jt8-e1KdnT$wDjF1R0j zbTOXZO09A$U4rk3pFV=LD1LgY;-_~O6Qm}_!iPmLN?(} zKH*t5X)&A9223x9&3uT>`jgN3h38$#^47CpMLxGDoBJ-C7v}j*SpGUbzXC6q%NEq& z3q~1y(dFQ`Gh^@ISrxCFrt`WnhhtULoeVHfBU740+g75#;QJm%s^My;5ec8b@xDlX z1I`B-yWl{F7_bm2&HX7~4dUfuIT;#2LHbv!JO$}L4b4M!Mj@T7^4i+!fWE--VzM)P$ z9p6wVo{n!Q1)V4(hxbrYxXE}rzM)P$9p6wVo{n#5=X5Kcj&G;gIV|sI7QBwnoyX?YVe@tvJpW#n{}Z3zjTh8s1q*n=Z+yXOw(v~8Fw3Aw zp@tcb?ZuNQM!HsKqRKqZXtcOMb&0UR&jK(h|d1Ob~#j5K^aQe|g592zL2j+92j z??5_TVD z&LL;D59C`zEw^kk-nux*dgMBp>#Fvn#>sr_I5b_pY`(FYkOqcIVNVEV_f|G=r1*|AdqI z0cWhds`r|s$=S_P1s)+z=KlWZ3a0E1{;!Z8FGsVV*xOQ-*PPw_nzNf65SnNZaLo6?&xAnh^#j-UlmaSp2Yz>QLYgjB>!(!PQ7R%PK zShj}6vNbH04W#vv-Q$-h+PS*|!u6OB8ly5xHC_+7GABh^jnRKP%f1x;6)A-v0SgIh zeJOkn*h)vqTEas2L~b|Mhg2jN;s5xQAX)aMuy`+_%AMO>GphKOE(bHFz367>4;hZIa3g|Nnxu_Oo-PSMQ#EA7znsq5;LX| zFm^KNbD<<)Y%@}F{{oR??TLt!0pqO?5%E2IdAO;-bxnA91x(d4F&-zfSWOmfv7&ddBQ7m?V=ky_P_^Cr_@|-GavQfnFcY3Taph=;}ih2nqTH-rJ z!J@&THtZ*nJH}~p*iX`oE+?G{0=1VEoFs-lF+l4>lsiLFP){X_v?0pA(6h-_0W(Xlb=#T(Xhu)+}N2Dr6s&IQj znjoU|qM{L%y(HIi2O_V6R1r{`((R(yMGzFlR}lq#RRkMiSCs!VvwJt+dd{EyU&o;dS0T))4>&D zqu@ji+L?KbA}K$fLZVT7^p*mOTnZ?1DWJ%ufFhRyid+gPaw(w5rGO%r0*YKpg%;na z5r0>R8p&m$MNZ|)5rI$SluvmHQGuHi*z8XI!Iat+kf*!?@|0IVp~VU)v{;cT{rDy3 z>c?HQflNI2Jj1+oxp$$cpZHb@ZF3l*{4`(fRxSM6f@eCWwc%A!iXa3Ll{DGp};X5VclX)%UoX{l7IKRprMnqZe zum;K<)mP;cgh!z|;nA?O{%#Rk@(ve82R|s8B}Xr_>=8GPvaF$vh=@C) z%;XiUK^B6`BFCG!d;=uMZ-AnM4N!EjAxqBtYs@u>yVfvwMegx2&(GXD zL(~$SQPRrzSEUtMvE)izn?YQgL0p@mmS8i~5^T;vTyHXOEAHJaN(6p1#YOhYrl(0< zK{S$$y;4N&P>87=E-V?9MrcuqK!6_95Vk#Rb~Jp8fFc&z!xjkLZh;bkEl?t`1xf_A zK#9N>C=u8KB?4QZL|_Y)2yB58fh|xXumws4wm^x%7AO(e0wn@lphRE`ln890B=xhw zbzyVF?azvm)QghTBb5$GI92GA)VD*D`u0AAT_&3NWjiFPZ-*rH?U1Ct9g@_yLz4P- z@GEVHB=zl(q`n=J)VD*D`gTZC-wsLY+aXDPJ0z)ZrDcQRqC3_d7WbcBM>|JEB{A`MgTyu|$pkH)G|@;T|EXvSU7 zYs`H)5o|xgyv+nJgZDJ|Eo1&-+&^2ePX4OIJ0lOpo0E3}hi-m(CumEF@MH`^tWTK3 zbT_b0?grM$-M~7z8(1fITiyu}>|@dZN@w1mxo;!$SLFWrf^|}Cm1RZ|AAcf@U<+if zM>MoAXsYjlslEq>=AL>qEPI+mbI)FCMfjVB>7KAtJvOjQ%bOXZnA8&4r%{VcO<`#Q zM=^!v=fX^3`L~E7lb^DNSoXdNSQTFd9>rIINAXo)oqY9864O_vs9v>CgH$V-)k%P1bGtV>J zdxZ$4ihT#oQ0fz%NLo3$CNAAj>gmE5O5F>g)V&Z&-3y`Ay%0*>3!&7#5K7$(q13$) zO5J-rE|`$F7ec9fqYR}!!rgV5dnNY{Bw{J%eUo4e?q4$(mh^k4%5EWJ$7auA5@4#Jc=2t;-V z&k{xysqNys6RCAt=bupfr*#fQb_apT?qCnac{H^AS*kUcS zZDUqQMvHg67sIH3Jtaf6k5n@u)In8Kn1{d&KcqG)9)9R=5}+s)B>^6iH4_1a+@Co= z;I4Yi^&iUC5&Jj)qq;7(6V0ycd2OQPnTWEpJ?K3eFC?C|ric!MSPrZGn};9HAn|N8 zMRZuE)d4JCC#i$(Vczd}#wg7(D}y%DvQ+SvrZ~Z}i4KHQ!C9&}FJmw6rt+}q+HG<& zNw(|L3J;p*SSovQYXdPJh~7Q|g=nVwKY2CSdskj9ku)%+Ge((~QZrYd4&@uAA~vd& zOCX{xE&PtXVfX#Wx?}I~kLJ+he9(NPA3-X{M=NNgKTijZ^p6(O(VF9+oq!yv8h0G$sj)0Ig{SUgX@gkWpS1VoM&@k5o%6VB7;_z@eSW$7 z6XvmV5AFS!LFHxheB#RVJLG8DawCqlTyFZB^I{%$gOZuz=O3X%>>5V`_ymg9KS`qp zAY4%5ec1E$6C#n)gbPZ%e~en;f)eMjY1Sui(Ss4#SG?by9>ys1fqY_Y^3fFoJx&d? z2FW@b%A~HY{2y5+R20UOoCaZxC;7K)bD2r~8Dvs_1|Z-w$fW*ECP-JH1nG2g6#d3r z4(@uFxw~`sR!Wc-QVaB5)HPnr`b#pB3DO{=EDK6r%P8yu3<=UFKrSaBLHfjVG#IP| z=@Zrh?4CjnpU()^3}xO=ct%r}L2Mi)DX-Z_pACpfq?6{EnDWinGcd}$<}Wg61Z*uFRXOrW;`e$oq3P*jJ7Oe9rx9ybYvgRCQCqDc^Cm@Gl$gpkcMs) z<3oNf%p8(`vpPN@kUJmXT9k?z(veR>I`T=#VLI7_1kl$M!bvO3I52z8F_(+GjxcwB z?tYz2V;?QvqSq9)-+C?eItYAop_em>AVG_um#K>h#GjSDUY38%DYlbUFPm2@l&0}% zFpWctW)A;o9xS(l#8cgHUj@~}{OJJ;f@u?S?wimpy z+IL{ueg~%Qcd&YY2d3?JVA_5MrtNoN+I|P7?RSRTM-w$LS;f9(!O8mXCj6d(gx@oe z@OuVO<{3!%Jp&29XCUGC3?%%XfrQ^PknnrP*yxK_gZF5dg*tQt%zVH)Bcs7OU(n4m z6Y%}Cg<9b`Cjj>oY;gb62?1fu_4+4iYgVD4n1_(=U(D&`&JUQYH+SvSjQym^1M_xU zi7;KKZM;ImVOukW!wO{ISd>nSfGVT=CvC=3=n+b72K&bTD##wXnQHvkC#cmGtGr+v^PFPd5#0M0?HeohHn0}9ZC&z4K>3DmM(2cYVBgq3>X9JG z77@ed57;;Mk0CT+G@;WblWxzO zQhcl5*~1%{F6Va8R1xt2>i4-G)PE5V5a*v#Ywa6*&ML*XCX7>K&J6DSOy+a$74Syb znI^p1_7HVCxMCJ6c=K~%^!%R(cyk`$&3S+~=Kd_=#kVm9k8DiABO6oj$i@^rvM~jZY%E&Oe|hHibN5$dB5&8Uu|A@OvL5yJ zczo3PvRSRIxTso4kZYQ)_*iQ1wa(RMwYK7YNg@;ET4yUxaEJVWfjbOWB_Bss@}0HW z<@43GBV6k_)h$Vd{sP^sU`yPi+2UQ)w@1zX#aE*Kv@!b>|17m1S?2=oq%I-2Q;Oiu zJAI&ZwL~j*yA)XHehE3f>*fltbB>)QY+x@qQVShwuf8a}(sC zRB8w^75AUaGnsq76dU|mng=B{9H~x9IM~igB+M76*8#b8%-Hh z5R4KX&3;#SlG+cfa}(qQr%5VvCUEBs%=s>NT`NFNC9~7y!`Xg_I$Z>EOh!9nTWowa zib*)Ml8jc+n7EV}?MfEkR0dTNNFUuE8(&Xw{bsfK2MZI0EQug>MKEvQLz31+ZdVoa zkyTb8$5vT^99v}ta%`0q$gx#cAjei&fgD?91#)ba709twJ{}hUIkw6QT%ljI z;rN{D{35Ex$mwD75`%J=YHX{i@(*n_RsNx^rb;!o)jUOlGgFOiH8bTO_G8ZXxr;N` zBJSzQJe#?l9bHc^kgyzNZOf?Cy!H&3tF}W(Sk!M;D_l>-G)?STOE*Ros*=2 z%v57rop(u|KhQx#td2@Gw$;g+YP^Zw#?TRoL(Y^$eIjcxT*sriD%IH5a4!u@Gu7DEFzi&1W1bn@L$0tl zebs{^+bNP!vYYCmBFi2n;uw=zCY7^%E+>>2QDhQlT0<-ZOLnJTXe!m%)ylhat2s!k zIY_IyN;S4MSE&docM99HF)PM_|yv(7C(DQISktX7H(|y! zW&PUPsjOdHJC*foYp1e)ZS7RnudSWR`n9zq3!-*#MDMCbqNy!BYIS2pMk1L?CK?V^ zk@*m0jlAkhSTQk|7DPvY6&(RqbOZ~cBUlg}C9FsxN9DJagEp2qPjOdA=GwqL$;|UI z_qGxiL>(nFkxP@E%rr;;P#8lTH3jVMW#@ zxsp~NkX9d%Rv)k+`hW$|CkJWW%slUM@3mT5bsv>0SfJ!dourkM1yRJKRET+$jEwk{ z-0rSS8!L}XxlW7^Bh^@!hZ`%4Ej&AmKnSHi6qb#ZZT*iC7ByLuZ2c#ZtCE~C!adnv zu_oF2E7l}if5n<)>#taoZ2c8$lC8gDO|tbDn|zL;LtImA@_E`i-%G)vujvr)?<7ck zhz@anC#4%Lp+lS(BS~^P#Q9s)p0v(~P{zRwI>h^oV*7RJ5a(Y~8%qIiaXv4{-G$dP zcWvf=pLt&3zB{>pB=@gn^UJgOd)b0je8IPD;Xbx#GVK_(gDv@pFWbPE{m7P&Vb11! z`DwOd8e3V5uY8BC>c<~`ldtZ>R=>*E+{)MNVrx$Eb#~fXn4*cPKl>W0Rp|Rjt56YZ zQ{iQ8ih322*vs5aIPxkaKb%t@zi`JJS?lW@#Y_*xC9;vQZJ;U+wGHe;Ym3RzWE-eB znrs6VN0V)!;%KrBR2)sVfr_KaHt={{Frqs!p4O8_=9)6_0cv+z=OT@DlexYOoK9=Y zd~K?3U6rkVfUo{u<7=L!c>6+Mqu}E4l%Qk|LYQ3oRc^EjJEt&> zJTK!}h!Arp$6`+YoT93<1Z=5OAyv0msS^aI6dg$I1|J ztPBCi$`Ej@3<1Z=kTB)c+jv@Yp0<&vkL2lVsGQo@*c2ee_MciBf|v`ioO&{)@3a?^ zrZ_YO@Ir!z-=Y!o+ao-%v!^c}Jv(oCH+Na%!6nV$oGOwM|#$ z)HYq_xr5XbpU`i>rbEnq~>mtlCC=Nb~R)ItXNs z7(ohMupf(awFj5wn`B+n-k9dySkFE22NU^Ul zmHUV*$zT|18V@53!$+dBLQqfpa7D;v(R&1)J1ksAl1!y~gzmwtdbf>IRqwV@s_NY~ zN>#nvMv+3ds@`p*RMop}lq&hLjZ#(bwo%<<16A*~QMIyXCb3khP@>J1MAnDVBn9Hu z#7d}Wl;~JcqGLf@jQx$om1vI4v6+-8#3S5ELW#CeU4J)B*YjG5qN_aDN)$yDjS?LX zVi^xgbbLCAXRRrs@mZB9gcUO0BZ7C|}+KOhsZ?P)I0{9bL*6tP}fuoh#X+l=djH6BmZI^72 zRXC!WOd|MK3gXe7H`UC1p3CAXOCkIE`7_e{N8w#kGj~xsl-V{Eu$Xj845OHD0VGpT zfdq~zV2MqE1db_?z%d09IHo`X#}r85m;wnLQ;w6yHaBmzO@RcCDU`s`S`GDw@u?T4 z1df3FBuajw0NRotr$-z&iNFNml1z+4dPs77)XCJ-A%SB$BydcJ1di#Dz%d;XIHp4a z$8<>Gm<|aX(+TtlN+HU&B0Kq+OqCD+66l!)pl23>5TW&!A#1)ygZfSy?ZdS(IW znMJ7P3f1K^VHV}kGTtnvUKEkXh<2~2aG|v_XV<_NbhBplyX`hr{cgKWRlnPAJ3))H zS^aLiO`@8blx4AyvMh=*=X~xw%3S2FdR_oJVM?1%``OFFbUn1VCm*^#Hkz(Oky8p|J0QO1QgZCEQu=96^7JH8*}gFo~q2_ zkzBYh`N%;P7#6o*v~2PXyp4;p67C+Tgu4eS;qHM-xO=QhIFL$j=03nZoOu>;Zy5pJ zIw+|;7Dg(elO+>!$(wS2tKT8H2huMFlf-~ZI0Gu-j3;SKSe0;wRS6fECK=3GnLBTh zdCS8DcE4~61+KzLoBw?fVVUNZ)pJD(g3`r0eDLT@RkPPEe*h18i2Pn z0B>mk-qN~dj+K7NQ%kbcdwJ?%mX^%YOY-z*n6oW+y};d9GB*)I-@?5cnfEj98$f%e z#>;a5PQj`2Tqztig$n$YF=J5dW_;UgHa{>5s0r+zP_;UgHa{>5s0r+!8TkbE} zo!!4tR^cm}*2mXbJ!-)Z6I>uJuKdn>fG&HA4$@s-qUoVsCoPTi+|V#gcAui@vE8R=dTjR%A;-f^)A?|p z<#YkjbY-45x%V>W_3?~2p|`s#(L5JMG@@9gz9;QB?1rpLCZ2Mr972}ko_ zk)r9bEwY?00c0P~oQt^gE9TO<>ph{juQEGLdi%N0aatB8r%U0~+Yf@?eh~EbgP^w` z1ik$r=4!KYrNcQ3et{UOl14}so&2=wkl zpm!evz55X8-G@N$J_LIAp|QU1>Zx6aPc45KbC!QkKbK(obeE5%)?& zU0|s@bsMYS9|3tja*~FXRsH@5)UG@NwJVQgtz98a{wVkU%rYpasxtH6!~Nfi+Lc~P zydUJDcymHMDBk?4e!n5g+Ld)syRr^ySJpx8$~vfBSr=NnQipjraqmAYV>-W-Bx2oUQhn?!Rn8(dMzY1UC z)k{98nk$xm5BECh#kr(R(7`zENy*aX!Wo1k`O6V$G3 z%2JInkvY$BS8wLp#XT*UXEE6;qITsPC9G-xrm!OGl3Ypa36RzkAgw2$cI64EU3nr0 zX-#6DL$raCs9ot}N{ev(3(H7aLGwBr93M6zBD#b zB)-IGLzou$!kq~5VP79Il`X|2daMiC($ifXZVx`Vw;TuyB0VTqA8b&BtzQ6Pb$b##v+JR27m zUtDV#M+GIq@z7Q)6PHjzi(?wo;^OaNTApX571gfP%N=uA)>O1@$LI-LwJX~u5zruY zEzIU^P`k1XYFD;F?aDT&UD*b;E8C!UWgFD4Y=hdBZBV~0ll6)375nGi!$HnzC-e|Qy;{rmr`c4Q|c@$KwGbK9yN z*$K5HJE3-DC)AGYgxZmvP&={{d?`Djc4Q~ij_icmk)2RGvJ+}Yc0%pQPN*H(3AH0T zsf?qan#V8TJib)QIG%zsj;ElE<0SQ&7h76qIp11!WvhK^ezWP{#2T z`55{KapCUIqQ-^!kc$u*7s|;;k@;Nt7@h^g<5@5~o&_Jnv*2TRRvI3(`A`~dKI9zA zoSy_Xt?kb|JGqw&AH%glnY~ypjLbC0m7!sggPFo28qKCliXQ`I8;y_Q1(4?p;A40J zd<-vukKqOBV`#@+e-S^%bPA`OVBRU*`y9(?%6&(ezZduK5I%+hO1y$CIXhGMLd2Vs zj{%c@^UKFT2?Wt>=52ckd<-vvkKrZoF}wsmhLG?*`Fs=oqL{S_FRuYix?74R{<5_YPWWu7~@=PTi37^Fn@ zOw=OFWESO3_DMvMNvqi!ViA1|uY=Y6I#|uGgOA~L@G-n@SfaPrWL=UgX}tx~dJClW7Wf$60w2R$IY?`Sj39RvK87Ktw8+Qs zQX)yK$j4CRV<0b2wAO`m3FW3TU4Fs9Em#T-KgK@rG3)~$!#?ma>;oUeKJYQ@10Taa z@G;oUeKJYQ@10Taa@G^hZcB*?tT!qz{7Z##=O>o{Fc|!LB7fZ;Nv&| zK8^$6<2V35jsxK1H~>D51K{I006vZb;Nv&|K8^$6<2V35jsxK1H~>D51K{I006vZb z1;vk1fvuj;SDz$)j2-02U*sbOC*h_i2(w4)E=ucy%SSFf^rK&Fpm$QTn~$avr) z88Y4j*UEd~T6qs#EAN48rcx&Ex6y zdHNL1*z6l-ijZO?Btm-#YBsAkqqWMs7efGXBP9s7k5mW)Rf-?LtoZ=ySU>oiyo5C< zmP<4116c?YFdK$5=V#p2g0?*5ZVHIK?;DPtcZBKuh1mKzrEBDwkh1fU(0iH&EE)d= z!Tc8reE$n98UK}OreMB*!MxMCcQ?yu!82B9X^nk0Q%>eQdm86iZUT~7EctK&NojmX z2uRA$m;uQmo{YSYN*3{Ch>&%-ZH>Y!_N>9lBfyh!1b8xz08hpd;K?`wJQ+uTC*uh4 zWE=sWj3dC4aRhiWjsQ=_5#Y%<0z4TkL4C^)g*wKd07-$=9D5@q$QN!<=wGufc5OP4bPU3`V6?DAVE-}n}6 zvu~k%<69`-_!i1HzJ>CQZ=rnSTPWZ77R>Q)p?u?8$2GoDFx-2N#OGd^3OE8zl}n^> z@&_p3_yGzyesI(J^q9Fu{V<8FM2~4H{s09WKR^M;4^Y7I0~B!lKoDp&J~*NAf)n;% zf$X9?qs!A=X8ZFY-uXk}d%<1a6mGi=dd zoG<8hE#{10fH~tAV9xjjm@|Hn7$=ePFT6w_agI4%+?0^p6s&i^+|=R@fL z@}cv|(R3bY0e%PWjNgGf<9FcB_+4^mJVc!@O`X4&Ipew0&YW*@7iHw`_1yrS@1=$5 zyk?vYO+0xpka$uc>=`JUhT%$aE0F8eV$b*s*fai`OiKfKXoU0Vuky4sSo=u-CD}8+ z;m+Q~p7AuXXEbGQN^md6JhyVs=bG`dZyZXe^+ii3-@u&MWt;rhHw6Sk`&Y)!iWj-g z^iN2|+DZDK<8-c>lK2PsGyVbojDJip=K#61WbS9VrwsGl!#%$XFgG6MGCqu4LZ?hV zfH|w@*@HPXRrDCeprOYo1`R#tNs`6~QX+bc#h?+GENRSHhC8Vy>^<%pAi&&>X167n z>*bLX~J&3k|MUyD=A_Nz0#*NP|lfyrIO_v zv4FQThB5iZL`>a+@@vPd%Jgo2`yN-b<$Y9irzpKpy&-$0gB!rv;gI6=AF&G zZ?KH^-1iOh59j`ag3f;iiuSEAqAidaAF-a|f+l=pnDC8Zcs5ogD0<_)G~vHC0cYc| z6TUq2q;SvI!tE!tM{p?*jmCvrCbLJJIL@*LwPjJn#S>jv!z=`scBg&-(S_bjl~w4? zZlL)q((p(-Hd93?dNWmoqBqM@R*}q{pOa^lxgO)5+JZ&bTTCXcg(!OKpK0l;WUlG0RUwMrS{0(`tyLk4 z-dYu+=&e;Dir!ikqR{6{1~zKdTdP78y|pSt(OauR6uq@7MA2KTLKMBVDn!v+t3njL zwJJo>Tc`f&yA{`guOh7jMWrA`r68Ht0STCLvku5F1hN(`kx~%7t;)mG+xDSZJ<$Xu zZB;3V-d2@@=xtRgh~8F}g6M5kDTv+{{3~r$DTv-ym4fJPRVj$xR+WP2ZB;3V-d2@@ z&}WD)%G@fIeyeO?t5m%$Rb|`;Gr7-foXM9+RfgU{Rb}WMR8@xF0lZrs1RPvtO231u z%FsKgstmn@s>;wisHzOTgR08VJE*D*y#u8X+z$A#&q9(;BjMMt8!JetXmvM}+e#(J z#^0&UuBz40G_#fkaPiA>tq@X1Ara)OP@NJ11-D(v5@sSQyg^u7NnnHJ~Z3fjG!D5C^#i;vm;R9ON2^ zgIoh~kZV9sUjuQFYbXwK7Y_FfeC~xQ4r2UqNu?F^gE&Y(h=cTlI7mN;gY<(qNI!^! z^n*A^KZt|$GaSCT_~3TqgUe-(XfLZo^;)Y$b%0f(s>=%1VIl@Z24HaCiR$7FO6!ub zpGW8>%>88b0V+jQAD~i1^#LkHR39*vV2{s)J_A&Ws6GI~_ybgms6IfYi0T6f;@pjW z{xHni97_ zK*A3E6E(Ek=#N=jnNC?-W2uWMow7JfzmKPX#+-w=bGK%^>br-&74WO}{WFY|Xp@f+ zEHs0lP;7Fkl+4monk~<;4@$2#j4etTlw(V3xUZ-iv8KeXgGm2%A`N7WDY5Imq}JR! zRlly4klOkz(i19BNH4oqW?sI|(}xhKd{vVk*FD@_j=AS?_xGCdyzgH6VnC4ngvT{I zC=iVx^9>vg$q5_@0Twp}XnT^{!`AuLB$Jy=0op#NmYMz?n-riwivYz3gaET^tt3ql zVHes?hP$gVx0icj1)7?NA{-n>grPH5jk!ESQ2y%^Eo<%OdyqD&+Rjgo^@p9$#H|E z+?WH28*?CWV-6&4%%Q}M3|t3ZkF*XHC2kZYZv0AaNrF5;syHaU%s1H&Q5Z!v`~YfY@+5sL?N# z#ErWfkVVwXw2JPA#ErYbFLXB~Zrlxt8+SwE#@&#(aW^Dx+zp8vcSGXF-4xaEo6?b$ zy#r>3fWL68MA_Tu-is+0$t6>!J`cv`JjhR&r@s^H%pT^o!JTK4 z$j*|M5ekugu+|(isnGjW$j(SrbeMW75ne99neZ;oglww!!(!VkkG_cT@{-+#uZZw6 zPY5q{ry{)6or>^McZy7(V&qt$xT^CowLe?uitti*D#A^McPhe5-KhvKb*Cb{)SZg(QgCPD3( z%Se765nk#Z2<3Yql<$F1z6V129th=oAe8TcP`(F3`5sbw3$fGphEWLx;t|UwqowWx zrRRfX-v`->K2m!3V-MGd>0w?gy^Hb6bAnfNMKOt)@tD(UOxCbqa>cxAAqF72Oz2N0Z1x* zfCAVLm_3uuxuTWf$L;hUFJ@yB5jKYQ-(7uU6cW`f9~3sjsFUK7>6y z6Q+luYLPE=2zyD^I43$r7nQMm&(qu>Ya^hgwdQs97@e4Le221F3IRJdpZE#RI8t zR6LOSM#4_ZvEOsUJonI%oe$V4TAs(pf#>mY;CXx;cpe`o?6kt{nZ!~hX$N4Z9e|y70Cw5|*l7n~ryYQucJ%YDg6B4*EIzl3qjG%m0A2VL9kl8{ zNmPyxM+MyFg_FwhnL4E2L=Hc7_8FjZd-mnh!cJS~A8Lp+w_FAY*(H$QWNF zowvs9nbdhhcH$f=(s}XKG|g~mB^hO>#>5fx-j$3hnY08gCV>{WaJxng7HPkwAXPR{ zp=F4yGVM1ys+d8lmqF*f3_9;+(0MO|&U+bj-pio#UIv}_GU&XQLFc^;I`3uDd27w* zE`yvye#GZqr1LJAZ}BzId9Q)adku8nYoPO91D*F8=)BiJ=e-6x@3nEhb@1GV*2CwP zKYWXCeosG`V2;-}$5LzYExrkSi*NR&Rda&5a=uAP?vLUp}xR;g+WCfgBEytR*B7*(4&$L|!3U&b|*JulqyD>;4du+&_dQ_YWz_eG|&! zs;I|DKFA_;vSgd&9<4Aw24Q>*!uS}H+&_jS_m3&beX}VHiG#13M8e3)_Y*b|D3fex z=V61rxVwQyyDLy8B+K&02s_`><4@4cop1ZZ66G)v;m`$&(0f5(>3z;2Y&8ImY?ep_u{LSMfsMjfUC$v4hNwG!j+e74p2sXN?o&m zSIYj)u=*z#=&b#t{V`r*nj`k5aVfM3c?pt|u}-5$Diy;2r|g7BkI@sh*a?qLA`MOp zp>Q7@g(UZ*kmP<8lH89%lKW9eaz6@5?nfcX{U{{4AB80Mqmbl&6q4MJLX!JYNOC_4 zN$y7>$^9rKxgVt@cTssxL)csg&PQ4Yijv$X#E`gRi);Uf*8$nTXx9Px;X=<&cnor? zj`gA0J<*)u#~{i57$mtLgCzH3kmP<0lH8AhH{uv1xgUch_hXRcehiY_k3o|AF-USh z21)M6Aj$n0CAmKVGkKT~XY!?zcu6$1d?Hb>yZ_xuP{JXz4~{#D5JE{Tht;ufd4_8jSd_<(>%5xa%}AA&w>{#P^tY zB=>G&8P&P(ZRWp%`_~BK{%s)O;Z?&3xIl(wMEgvx^tm0C-@vH+24wgR*sR}x&H7E) zQQ4MxR&sBGmX_e#4lCX8YjCB@#)oedEM{phY!}iXQ5i5&qy=Zd$e$~Gz@=$iO8KD0 zWw>MGqq1gXXH67C`+$}cCd~*fVA5>L&ZLpw$TgHnBnlZyGrC}&Mw{1s|XSm$q126IvTjzHW z&+=kA#QW{b(lzN2=XcbI;f~50bEInA@c~P<@zk9>^}j4_0Cyc`?t#pGj(NW1zDKw} zo%{E*`JLGO@7RJ@_jU&WXE*z(_*^LoBwC0kjCt=!L7 z&1I{8;|~wz51(VJ@8qiwX?zW3L>Tw`cHp`q=>38|kz69EoGA@;t-bUw*eSjy{0zf| zyMmqujUsx6B+kqMv|V&phv*>T{0IQ*M*vVi0)YAv0Mw5Fpne1Z^&?fFdR!VJOM~+VI~=IGIxz!+8?32T&JPCJ@s_JI|P(K5J z`dO-~Nwlf-Q36ndne$`rYRp^@aZg|7+0MOn1b`9`FCaBrlQ2@#9Gyb})H|606p`lD zA>Xy&g-%q=lFB(HyPOvZq8A|DXaLl2Akp6dK>Y>)>NfyTzexaf1$X^K0BRxusE?WV zM(*9gGC21gV*W1Nze#K=^&|>-LLLe@r$`A7-~5V{+z{oaQh!3EQAllEE_m;qZT_>2oKli^bu<27M+BIQB8*MxVMV2*oAjfV_^i$Dc)7(z@ zzhT1v4a4(qz@~o#HvK#7gim0e+qvfpv8mM4D6~US3r$UA83u`BBIi-S#TsT40_rEQ zYkGI;2N3DlH5Fs9YbwTI*Hpm8uBm{FU9&bx3apRAne#L5YQtP>xaTtFN#~yPVpFMS zKwNsUe^XqM*F7omXysK5vXfP#gf&HAoOTy3fbdS*v1~G!Z!9e6}GX* zsj!VbPK9mkaVl(Mk5geAdz=c}*yB{#hCWZY{j@ZN>~Sh=V~l0uji?|dFlz4rgPVN=B~}$?=#N}+;=DUkL3Qf zY<_t*e=l3GiZA$jrE5F`5t*HhK=%p*JF}Lj~)Ci8g#JVMmeoC9l>YDb9Qj z8~tVS^ErGB0|TkIv3v&CLgIa}-{m9xcOQiYA|B~{qSUQ&gP>?Kv$$X@bzoTi

  • n*xw_U~qtmo=1KTY4V1tG}G^ds!K#&z_H0f4|nU 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

    rixkaS*=_tw? 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 z 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⋘Ri>7HHGp!trug&1Yf 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 z�cRVDEx(?*iGoATGDM*MJbiK?nFmFa(%Vap09hhZz*7W!-`ch3gOw#pK58T#%L? zmRVgGeV@mkN$Sii>7)i|f|#fJ*K}^%*?A4={U+%6G`*iv`9B$jrw_((dFl0#EL6@$ z<&L=Cy%t;m%;pf&e1QC<;pDSobtPMjwn*`LGeNN52*f9Wb3|N^c(D>qVua_}Vujla z7O2D5Vk~ln-5sfjlY-7qN_-w7B5l&iQqJ;#+aTSBAO*#oacZmEsd2cBa5zn#Z3>6! zjDt@WijK#`72G@~`WI<_12^9gYBn1lB@udc#s-`d(m4^N(3=xiPKLV;En_0Q2Q6Pk zLXK!IRI%4(=+&sOkCI={9WNH+*rkt(4zFdqSA{Bd57proG!0XL<2fSmc83k||LyKU zg=qrd72XJCDcZT_9I?f(d2rz|eqk9}j44y57^foOWa4%h3;S~_G)s#@qiDkl6ph_h zzn=H2&@>-IxK0=w8CoiZQ>a7(!H3hZsN1Cd^#IPGP>B~+39cXvCeNlOf5uhuX*NdXz;#G2bBsR6jJ~yJG3MyF5fUQONaIt1!v|Y#UY*LOg?HRFl;=}@5cf)Ti(5rZu3%8B2%nUR>q7ggsX=G5yOZ900!?9EJBagq z(EY-}OK3=AD-&7N7x?bHte7n@tI9wU0iwe|XsQUp>lRgFB#t-XDZ8g5)~XOULV;3R z%=Yxs775kZ#Ci!UkzQH2?uEz*fW`t=c%h5VTg^qyTcv0mQuAgNVkKkLToK)pK?WuV z(Oa=eM{g^|NLE~_)pvAf=&QjHkZKrG_Iec>>EV;=Kwe}E>G7^fApS(@RKg{Z&R*$` zmhSsy@7L9i0G0w1KM!<2D!U&I^mNIdE_{kb_I)jYPu=%F5SN8=q;#&3?(OyV0~O9M zE8PBy?)_OAh(Nxf+&-&&A9}8=CE+r$E6Ov3K(vB{W)rhbgv9Y}TwZz|!RdRx=i*4fgNdy--`_m_DD{4o#B@T{id$ z~oMxIS|O5q2S5Fr&gH^8I8Bnzk2p>3{*qHP>|N5e@@df<;#*U0QJ70Hg~ z;w4dzcZ5ZNX}P(z`2Q9LP{I7HX^rkaAeDp45W0imfS!wru~vHysj3{&7FdcQfd;S7 z<<)Y$6c6)>Y>}*~F?T=SjpAKQ)eBQxd=^xk$6hWV+uDO3>84iir08`mPRhyLk^ad zPDkVBm`b#e`^v;R_YkVf$HURoYk1aNXH>LX$P-%18ayBi)G~dtR#BKGCo79_Eef+# zg>_R!njD#7?saa~EW$W5%(uL(*}C)mdT!Qq{*^U@ZaLZfLQR&gESvGp$>m#KY%)<} zWR_12xX*eR0JZW)*(Y${6@@Rrf`fp47A1)w{!f=?xUaIa%-?q0(dSVN?*qO6o8*KPl{Wv9_>hP!_LDlH;ux zL6`?)R7+hEEg6ZrIN#!BY>kR4_%^Ic-)c0lt}gE0iZ&>e4{wZoKFvA`3$Li7ZA_kC zMkj_u)D4>bx5Fc05>z2P0J6s|Jg2gKDs3spgBOD|m2nub#8eJ%X2Z;H9M2#auX$ zM+z6~)Mey!!+D0|OS}a{pa5V7DQvh=h3Z6mXb0(6R~wa1y;jTlq-aEL~s3@jd>&Zln_e{ia*QIig zUZflpO3IWBcN0|Z!|CPPa!8@%;JCx(+&7xVl-SSb4R^b#{0r&jhqm8C<-UB8ar2u)Sx?nm5iEcLHD>2Ew$5?ga-*@JgRPnl0`um)?`-w zOeK+Q0E6AQh?^eXTqP1O2&D3bMdD7V^C`Z^gvc(>>g;3gNpz|eU0^NZPmo}aywzGT zE}l@BXi#P(AQYU^E4%DTjpg{B$LV;SCB~<{kOjj$sES;UPIKn0w;o-M_2>?1|4L26 zWX}GK#3vEl5z_srat}Ls$%0A zOaNR+FX)7YeX0^tgo{#BlNDCC_%9&@!eg9#RMVdRh^U_1!plgRt?b%|$MNjAu#Im8 z?F=lQ&Pt?Y7T<==WF_BLtl``8^?X})8Q-cl^R4hoee2M`YxQkA z-!gCDDZ$m`ga~0j86AzFn6Td`r?{su?70|rBp0O&F|0DQ3yp_Q7feIhlVZB?C4gaC zpmyktqB7I~^>>N#3*FObr4D5vF)5FaY3(mh)HQ4sl$#YAws+qSfnz?m47!tU);lXX zC`|!7B!Ba|L`!mALLE*eZHEv5_9;kR+@PGIfU{IOOXG6A`v{>!VIKsp;DdRXKoTr$ zUVvlAk?E`L=^u`^pO(xW-!;K(4{y_N9T1o}6AC~sR zbKFP4&UJppV91!RD`QB42_}3VBbsR#R$#Scw$B~SYBt`+E`QxbzSU3R+t}&)HcQ{; z>e~XoH7@4c@MU}(vyyLZYqCg`#;)g+vgH*R2rw^a2l7O{0{|Gcg2?PFm4rZEJJbTOK-!yKupxjmZ{an!aE1j0kRyO8erb`Rf+>=XRF$Ue=k zNt=CVcCGsu@dm8~*Cd@&xV$jWn!eV)d{&3-wP6;I#HJuwI#5T*vpe5!K#89cZzHf-B z;oN*}0SnpKMdQ^>h*FLv6qR!GJ~<9E|jtFekKyCwR#T<0}(W((#zIAJf*1rfx7!DQlMJxk;=) zw9TwR83dG5Wne&qw9J=+7;hzQ=6tn{WiUBy!yvK@5>lS{QGrp(1Jt1{nd1mLKY0YY z4<({TD<%ZpC*X2cajY;?&#SWP8kuWpTIJ)yfKdPpX5+%KV;J5BIJ>&gl6vMm84!pd z&zz~DqB-nO6wS{obDzYxkmtbJ0eR$#MJ=A=ULRU+l7O?5iB;1B_~=74e=!eZp31{Qw-X3E$V&+* z=jt2W51=htghePpTP)%Z)}OlqU8&X?!W&#F1gR*}`@6`hA*T&%SqR@z1OBVJaV#z$ zs>T9JUI#Z`pjQR@gU<9YzBTDgSI!9{(dclP2CAyiS8sm!tHPTu58A8HI(N_RYYy$- z-?{r>iJ^i2_ig$~0j{5nqDrk2ogG!y#J|cku!5aQt3pp3YB(xj)v$)is^eKlw1H(W zZ@7LoLQg(M=*pTA!$sB2I-)$5f0d7)X#ddtAgD-7`d6w@IcAgarMkbNdY0&^{*9xE%*K_O8%FErT%;Or>S!PFaPBR z3Nq-M7tGb$-46k8inADaBRB?^2f1N%;r}l7Gxgxz|C1q(o?6igX22-(sFkC$0(0~{ zIj@|b<>|?DzAl-sOBQl$%PQ3DAJ@O)`d2aA9II6SD)na6n*GaJG-@lGlKTI_Se^S} zbeOdHBuYl{)zeif)F$e@8Gj~;I^tj-LCI#lS7|bBRf@UK075zv!E25U*!}La0L=i1 z!%=8{90fDswx_(x;S{9KPeKrIFV}Lx!V$Nyu)>1@^#hMH#q%shn3|=gNU6u*sfoH0 zguHkv6oYe##3Tm>&>7%Ol=<#+!0jq;v(BUl=?HI{9%BnhJzrAy62` z3<|@-wi0&$AxM3gI+VhyjuW~)N#w`AQngvhf45_{Z;cKpbg~GUwr%H|gCaUpufbFG*Ucl@$B53aAu;f}Awi=3RECoV-ES(Jcv}58o7|9ytd`G#P zmHQ*vJw|pPtna=@(cf^@^Fi73E7`jcAHAyY{gk4=8LIDk+4r36`=jb_*UD`AuJB~{ zV^}{*nkTSdJ{En@Jk&Bad0Pk%V?gpD54en{0YPpiJ0SiSRn~ZkscSp;??|ShCVfmw zJyO<(mAsZ)YOnVVAx5zPLy1~vQ%hJR7~B#JMhr{WJW5?k>NMT9YSsdi*xuz$VM))L z#yTNyCJS}`Y`xk!mu*^XKF7{t3$@%Y)+Lv-g&VeV4ps-ns9c1#u{Pv!!*sIt3%u01 zVIH=qEOe8sjZjP^%=@ud*UHTmu#$v18Ff^$2i`_7 z4u+m7TG_ouJw!G*Nl=!Teif?YKvPJJ&)?K2>ggLusIdm@ydY@b5w`D;_8kg4>74AK z^Odmk73q9MxmZKOu0(u0Thf4+=T4~dyd|I4=I+_GcgIfbpzqv&4%&b))ePwuP zOUky+qKOi0YZ%O|fE}?i)H`xcy#<#s0h$(D`*N_c$i7F~|3&FSH;Xy$i>Uir)XkwB ziMEM{=LEkuJ-V85?5pGU=h49{S)Id((>F*Td#E|tl-DSE*EEU`&Tazct} z0YmAPTfqELTpzR%U*PM(y5`?JJMq|yqX z`;{yvkzX;%{X9rWG7HITPO>%663YW!EI?3Wh1Q%f+3c`bVr{AhBW=xMUPsE1vLBev zmCzizV(|6{&A_xShcK&OQ-L)ri~&?(aXHr%*qEgjLTc)<8`*w!iu(niL);H1GD^xn zN-LQN5h2J~1@~fF4i?TabK*G%UshUMF(lSjB%jsqReR&|D)%MSK}oiws9CN9%lM!> zj1<`hup<0S&nxw#0c>tyq^Yst_Ms z*(L&Z@njuA%G49g2UAbreWaeSD}5Pf!ckyh!diU)4qeU}hYn&Y#2qY@E0r@+IbRma zJ**OC7#OS_gZCu1^RgOBMrCxGBq>jXc9~U!?#tl+NzDJXIy16-#_&madt)WoeG~bE zn`s)nh5lPf|E;9|E~m>{a)s8Dy+VFy45{IOf#nMau{?!X-g>bS;7R1qg(0@o87Mf1zM_s$DiYkxW|bIAmOu!+)0le z;WI}?In6u5~D;Dd?1kuK=nB<=kHH zE>SK54^?`%%xScVh#ad8@-8zh-clXe=RK#DeAq)CPX9S9Kx7{xSm0Ayz=xYTOw$|k zr`h*|{#$_1DkkTQp_(Ag?}MVm<6-CuEMoJlJfMTOq2gN7%#xP-pfY%yC7Uva(j*!x zGqw3L=6(%@DI7P>^L2?~XT`!i+}O8gKLYBsywKru?JCc(Bo#WxtKWKYm;3Lih#0sq zMBcT>CJ=VkDx`5ykxqy3o@Pl@FVJvs3UPXnbrX1b!ZT>POIHm zhAC3(Fa4htu-4atH`u!i9%6f)c@s~t3c7fD6FNMK6pg$cl`>a>el)V9lK#MIZ-BU1 zA&MbwG3iwYi-%V-v4}lD|0LJa!L?}F+Q+ZaIxu_}R-SS98)%Pm0b!-`L<=baGlV^YLF*bg5!7W+Hns8uKPQ)l5nyke!FVys6W}=roCRVC zwJW(Q6)N5gcJ&lKzLBi#y94&mB>tRg<*dZ^k+?kMehbKu2MbAL6ry4da(AtnK{44P z!{M>q0tJe=%UG_sk!4eS|s9w&?_EFr0LI@0o#OOd53y?)0VxH^1M#W!7aSlc@S~&TRg(kI!pB+Ih7`%rcHUbmA$QDK` zj10Ufatd5iELI2B%C*vdh>nQp-V(%2c8%(pGs*oPUT_pzVe5$Lc+xs*2)xMu~KuQ2J=Cls6>96+WHz02$nXrHA{(#;fdz1b~mZ%DJu`IBf z2P5VapQFnZsKI2AXJC*|F$1$a?4Ls3TRw$7^C@GDE=Te)T}r`}SENC0&le?u9biaO z{-~*iXTbCW^h#Dc722jPLRH|nJ-Sru%aI7}6-mOBS43L#;W4w}p(#QMF&(78jAehn zvj1G~G%5UbpI6;qt?#K)Jyqz7sBkt+*7wWi03#8nWNYL)kTqYCOf_Cg+Io!_+hS`T zV|8y8=*>N~ql2Pq6Sjs*F^eZs6ort0s(D)oN}dx493mpIG37dny$m+Jh*YY7mFi#R z-c9eVuAI&<=sBUK=Y&@E0tVKy#j$D|C%HdFt8mRJ&H%fR8oW&ukT0}AD&}#J93FdV z>U6*=$y9o>*I}8(1XIQiP3V z#zSy>qIuWQv#xAvCb%HH0QpY#QNn($4l`BJjF_s|Jg|t!%^nn9@;7X4?7Z5DD#B|= zXtCr++uhfJDVaD>m?aWhESoIsISkN{RjRS{AEMc1fw}Y_qOm1vDgB4zTuRkK`VVof zs9GAtf7qv5sc!Jz$XEOZGBBl8Wl{2{Q|kU0tfG>_~dCmK7J!@iAAu+2%YCwC;g9-bWfM2I4pX1Cm}?8lU|7)$S-4P@#g zaGDP$MP;Cte)fQ7+Z@txsb_j}@vnF`+}lqxOP>(%BtU~_G2q%k)N;#Ke!Q~*CJWpXZo7jJIz zNu`GoB(jS2Vtnza^@LAmaXVuCf#KP-7!^hA50^d3Gn}9sVibbreHh+63tBa$>>y;G z_khhhtZZw%2>3<6U*EcD&w+!aSm=NcRau4qUU~(WS0-jCCrCP~dJM0Yj2SmwJLMD5 zS)44IY7tI3ykcu#24Yt{f1{IZ>L^D8y9^i?hSHQ~jTIU#iUJrN>_p$={tVUE3b_hT zX45f8KK*Z?ZIK8AV??0O(Frga1{!?rh0U-HIY?)|7D(SrD{xxH>`*WayEnZ#eXkbaF^x|j)#YVGnOe(^Z zp?s+(pOlGTh2iN+=SjCGW3T%Q-6W@B8C{2EstB%F z_lJiO9$#>OopFWxAHV|dLMGk_mr$EexZP;;muM55=1^|EL2vj5)tBn$f%n$tOR~E)k##6M zWwbtpTv<5XFf~v?lsLu0wZ?1{qOXXdNlR%N!VL%0kPOMh1wIGUU8Od<|A}fG+RJP- zGJ(u3-Xr-M(8@^bd7MX3m zd!L*jo#N>(Ks&$n+WCBXJ3I{-O1oL_r5&On+L?iN-t^jeBfTBW@GjP$h3}=EBSAWT z)SZuZ-qP*3q4aj9Uc8;P@1>nPgEiF7YP9pV*AA`g8SH>8x{LK^>3eDCD4(3_E=D{5 zg?6B@U0TI6+JSY%o{S;9ebswu=fiv`t9vEd`JLAvUV|HKpupZ2>(BD{(#}AT4t;f( zqMhG+{h=tW(Vv+Y?@yZXd3U~kFi7Xgy6e%-AH4p2B)uKpZZwo`Sc4mEVc)%-Lwr)L zI}7dnx7W_M|Npi#occlaUjxpgTNPOFf!O)LqNwK$vCG!t zc}iI7N_l(3BjiL{`$Eco76B>uhHUp8?tuMhBF}y_GD0dje?B658SsupK_X`VX`TB= z{0rTdpxC7`WE{?ha!0ciyC%57p*QsP~82K5cV&}*G&O%R0&p- z@@6>bDfXyKNlV8e%E$^)j!;NIHG6(6+`%AyFoAtl_7uq<#9B@$j^V-~F|A#h!*E)^ z&`T9N@sOu^zO!iec>X89dk~K~riC>_j1LZ+Vj3O>7=bNh-BOqw;8yMWJ3bs4YB*`n z5_L%@6bO5nR4A_0M(-5R<9GwUeu~-98aG6v*)>8}d)~(a&VH)o2(!kvtKC0?dh7!- z${T4M{ciCbdT5XhQxhf>X3QL9Lx>Cw(?OXup(Tz(z``p5e4?~xqb*=RDeWhPhuqUX za^nYg7m>Xo-T1eEy5#5llE^WSKSQ4n0ueHo_7`a^(>QS{(H zy9E4K>F{!0&s#nmJKe!19!q$Yz2iSjga1!DT%Ts-NWl5@dXQW5h!X_p(mZmj`+qQK zYaxl4LzIG?ZCl z;lplf(uU}D{^AUp$YM-rSf(ng2^NKh*+PDww}Z^f!NJeeX>Gi0JhCe~U=fbDYs z4lEX+e-#P|MDTmC;aW^-rp}-zo_Nhx7T!eQ6don%)m$7BsRHWot~Mk)vQS2fms6-Y9&e3I3f+*@Xw+)DTUf%Ms56D{+Q5;J%@G+{qKg( z{Z}6lt2*}MVEBWb`xoxtb7=1YvGUNty@w92>)P9SKorSrIX2*~koZf?33S)V?z*^a zgtfk2+GnLZN!s|#5ax$-rL!H~mCo0t^K0q+uS^_=xfQ}bzN}Q=x0Nz~7J8wuS|^$S z`^hrULxKZEgR*jyieQzp%EYX|ZAdT~9QtZeIMRkmzuOXRdR${DN7O42YtfK5wAISW zMvWk?uPv4J)Q1=N;~$Jp z#o-fT2Gl7lYp?8Rh0m9GWs|%jL-Wx|%(T}|K?H5g+)D~YDWrgpg?j5n{O8F-Mq(PI zVH}P@kj^ct0@+hR=gqK#9Vu^CxlJ-LRVF?wyO$|+g@pkzE(g5_!i*CJ!4uR*5>)(ebx4zOCr0hG7B~WTk{{6iT{z#FQr=~6I*5Cm`r?B zCVnQ16IfuA3p24q{H(IZU@2ADKM``=ZMEwRb(2`E9?vE8C$C?-^V3ZPj z=>etlpWkIb@$|u17H|V9M9}T{Ar4}}7IRDKJSCm)%e@K6m~00cDaE=-j9Wkvul$o6&*!7dr;(s*xz9T(vnnKg}lYj*QY^DGf2%) zx-bTOt2~Uo*kk~cNLIj2S<@+NZiG0f#9ED7p%@2#8I1M} zW#s@rltNs-00)1HQNnhWSWiUNVtfFHdFJIM@$IB!cdh@c*Rqlwsr4pZSJ3A+QYUf? z`h8$;$2Favo*mA*)qzy}k8~$U_k1wX8BTOc`ul)Pyd%4>mE9kX%WC+MS4+E}q{se< zbc&@jNjl4=bA}YId#gleg?;C?a3<2?C&)+wN(?S<%Z_k_zSRRhwSR;KT5!`a&E3N^ zcb92#DAVGgCxTX;R?l@jJG6%Lj%2G@zc5-q8?B#>)2um8yA~5#xrGVi`8J6Uw6Z46 zbVnzMJX7H|k>;hzJe`dSS3`NOhHF*gTp3Y|^^e@`q@KrDLy0r+?PJ^^;r#+p&hYlkgM@QabUXHdsUyc`u`I}u} zMK&p^rOoS-2N|ow$#u#0(ApxLGKD75n?gED$-Atj6BQXDuy-MH(QtvsjRxWA!z!)E z#zJ5_rFAj9G0F|VewtWRywH?DV$s@ z(Mq=A!xwha82M2Awrhde>3kJ|ppWsz|6)zX+V(B~R~C zckWepe@)&K3EZ<&(%Ep(*A>V&fyCq(w!q= zxSUrq+-qfGoJ`zoB|aukJumNhT4p843>9YBA6hUkqbdRSlk~Xuyi2smm1vQx))G|B z5;V7Qe5JRHx32T%gRN^iw;$Tsv48%}d-r!9IDkW(4=5Sz*BH?9b%joBN2#*~9oh$0PsAL`*^V8mEGu=l>AN$YyCg-+d?N~)f_VN`{c z!FR6;>1z4(na~vWsdZT&&1IB=3+cO91F63HrMFS(;Y1Xohge0^rpex`LlI29kC+xy zo>OJPZQe*BrN=wz17~N8$&@c1#RtrB0Y*_8!yxv)(>cuE3-i4_HrRhdH6jNI(M-A^ zrpG~^OA75;={zUhgzTOmdoGu!XUMyzsIkiaol5Li-B;ikRn?!b`hTnjR;c5{@mvb86 z1h4`$ryOKqpacKWlq1vrkR=dZ;jfaxw6Q6{WYjYy)EGWF4~E8sIvbw}5tTt$IutC# zP?Rg|=HQKbAu)z6O6vPTa9b+LZOO*h+(j)N2}wJ6$elW*KPOa>voTvtq6`xao|u}Z zFI%krnj)H>?7sB$gt7*POiw(ud>1s&RGy=B@f<~g8Ju4S2ZG^&pd1KR4a||p*QYkICcTlqZBdF;boQS8?J>dFD+RA|dA8 ziqms(v+qC%8Do=Q&9}IAG2$~1CSY7-2?ia-c_ukcS;N#KB~~KIQ4CKG=SpQ!pbCV6 zx10iRS5~zKgU_S-b4_p+v2B|?X)pwI4%xpsgJT$+c20*bcusvjM=Z8U_lL?^pq$^z zM0W}1UM(5_bz2lTBXJy|K%CZ<@Mn6hzO6VOn}iGxC%r%n_Ez$`wO*U-EbY@I3ATemfn zK5WL`Cg^eKeV)(`Cc=Co0-UCN-(YuTr-%U5VidQzOgbNx&R>-MhIDVtib=6YIJR`Y z#~oi^TS~}}$)1x;-RC&aE3_+9)a6`8x2gHrnHf?{m+r;{#fsrN(y^`B7Z?=SK_#xz zQ4t6SW{>P3k|}}^BE}sg3CN{m(d)?96mu!tv78T<*3w%n+M!}8OKD3`zcn|RiAAo@ z;W3zl9*?Y^OWT~w^*cpk62FuBmIPd$!LB8~C9xo~(kneov~lUw1SG9=YY5vB*Fugx z)ywhUDuHZJ;Pq~A=`;H8w{U1T_lng~foS38QaNDAL>}bJ9c~PXxslBta)qLmOQ&|| zLh%nS-4qhDBb&-8V+)eyVF=^q9X-HJ77l3=1w2QRX^1AvBiOd&zYhYWDubQ&OcPgD zE0!=u#exHC7)E^GFVu*!fpfvN%?lyPU;;iJmmH9iAp^3&>;(qoipa`(uM#8!zHkj( z@u~L1%ZaIRYV#$g!iYa2=yKOyEa77l@>^m1Er~y8nsomXOe_f}mdM1CVE5m{-G7(e ze-HMGa4*h$7OMA&VDF#8y?>Iue+u@$9PWQv_P-oF_GIQkpx0G?_er*Et? ztQp!Jn4#T)`S9aVWWEM2)HB$H6BxKyyWxwq#$2WS?^RljZq&~<>SvpD3!8KcS54>F zubRWR?YcMH^=x{F?$nN2KDjT)`&iTgJs&=x$#9F_hkXlYVq3N|o-7*f-gk`p8ujl! zt+aDmXrZ$$dGs1mop~&VM3Q)N5gbvZ+p5ux)Q+Ly+%)(sg&<`Da}~q*ET(2Kmi@R2 z&9&fbK=k!SA8Sr~H3G0ZCx#DMJ0rq=R$w)l-h%Ptbu5fQ6Mx@o3Eqc5Cl@<1;JRLc zjTc?g!heVH-##YP)+yAHxgE%T=321i%UF~rXi;-}SXxNyS*%(kVq)$tDBV8^S=~h+ zMR1U@#bFK0?!`yvh*o`L;HipfSb^~>W2OO0cpMsGpWyvpRmL#fvI4HxP`>hK1#psNkyM@ zKFx4IR*}C6H`%Y8e1@2oZjh0Z6H;+V&xIB`y-3ML<@P&e1<<0e1jIrjg?$*lV7lfSQgP5&J5;)SL-3UW;_*a z?eq(_Q^DI64zmEVfgptC{ThSaTJra3MD|v5CHrdX@%ESl{@c*NG5W4wjHbCUvBkrT z3eCR7F9f}geXBIPs-_DfHay+beB|PMMB@3Q9`E;8>fgs|^?jg0-;ZNg29-PE>5r46 z^zT!3`hI4FzMu7epYwj7uU(J#X5xqqPdIqu45v3n^Y)m)hs(ejHxS~h={IKd0N%?( z+(*~T=yOPGh&8UH3;*Ydhh@Lt!}bH^y7dn>kPCOf{!s30&=Z^V!GYC)%(b8O+h>y# zB^?E)lW<~5E44qpjH+m{U!av(^+KopnGW&`cd~A%v_HRs9z)JH(!J7tiGSDHUtCAO ztL-l#rxf&wX#vXDgI%D7q_Bpcm1zZEuI)p`WCm7g0jinFziKtGUWYv!8tv``>6UD9 z14$H%6F4g-niz`ew~=;RAO;znDJpY3o*=P0c_r06@qV!t<>IZdn%Pi z1TQM^Uw|r{B<#;Cv7c(pCtwVE7Z(udk`4@J2ykGmEPPYXeo@-Lm%U#f(*`WN|K@yK zy7#C=yG*Q0SS9Hyq)7MT-Pd;BESBxqjWrw`0wiK^ zsIYVGzohda>8?>%#O0_7NV{_1af+m~M7r45>?rpgnXqL7dA1SRy(**UY1sphYP#(0 z$>5oG*rmHV1>@5-2(z(y9L05AEkr>)zyG%$Xq!b&gefp#JST!T1k zRzT5GP;pm?x~lfYWt6^nj|2bSR_>Q+W0|n*M?B&9SMUC4wT3^|(17QgaiXioQYn!D z(kvJ7fwf#%_OssG&w7IWoTm_;qaAx_<)fbHeY8gZ{+OpYJ~mwc{5GZ_>X%?bY{buf7+&c3$x6ebG}~FM5v7XRt?%@cNAYsG$AX zvHJIC+etOl+Fzhviv>^(!n!;GWxNCV>K-BLVTGmrHzls6!&b1afidhC(?X(_j>pSZ z3-J5A*c}kFgnbqfmJ<{UxlGtkE3re^U!f}kUbO7n)!q(O{+zVGFP*2Q^BtLZUUs+0 z?me>mXR_y8vgePo2NA4IvgerWT`ha>kVgyU(W^X1o2wQ|O9iiM7><^lRG_QR`m>rI~t{_o{9jcBMo?DD# z7M#pFs|^bj@PLxXae*+*#`W?d))cU0To?hG&r`MbBPFew2sdoh#;lUv%n8*#!sT8+ zh9}D5oly>;{REwifc!E9_Su%f8R8FG^Gq+B>`f`p7VAtPVbm(;9PpJM9v@ z8J}VY@iDZV*oEN=k~Se&S9=1>5t4S3*k>vFc@=5Ah1A>}y1*ip(MnGluX(hP9pZDa z=mX!h5>_Rh1Je1dbSouJ!}f4ks(qnl>?O=v;Wy5zpmLCPv7cGjnu+zOZJHXJMiO-= zZ1&4HdDI}iv+*izK{|Dr?H4O^#ZFyjZ!6U^b-!Q6_jyr|+I*8PbNd`puLZWfmSp;c zUEVfmE#7J~eBJQbO;9K%|7;n{)(0q?b@auaS1|Gc8OKLPtOp z5wWh~s@Pp@sB5pQuDYvh*|n`@SJz!v|L5Fuo@AcMBs1)g_xFF_ozDkyGf(b3?S9WW z-*fJ{=kj+R))X9!x7F7ISY515PP@Uv%|dD~e|4CAv>NJzI`X+}d@(IFRp8z)R}(HZ z-*7`*t|nyR&BinQ9)JVm1oBAvW2uWUn=qv!K3kdKV24h2W9Fv*KmpD?k}J&@WG* zgP()p-WEK-bT2vGVOe>T3HmmgApQ?lm5)@Dj|lh&Ij(AvP_G;6A26;ixS&|B>(A6t z8GZ3hHq~#E-kQQSukhBuzR_EA(Oaus^46+#P=hk`K&bJ(@at{Dzdj}6rMv0t^}@eC zpCF)C6Ki~#$b9|Lp5`L}W?nBdu8w{Wopvgh@iwwtbhumX0 zhB&t3c6AVvZx;4j9eka7JexT(LHP7|B0S;E58-Me@D4Gu*U?>Vh5K?@j0G(_;Y-{r zK+2RU)OW%x5?%<^-XnaM2;U>Z-@mGVdNu!a;hzq*d_YfJ35C~%nS%tyx057O9oEv* zLmjmsZu!aZ*v^^ixRzs}VDuJl(Y@QN+ai0TJ1KqYG{3cbb-&K)zNr0fR1b5%$GV^; z>Z6{p`i1$pjydWX?)Cza1NCAXl-+FgvejKv3`-?udRxF>f$%6y%k5tS7HR?M)IM8N zqb+7l$fK}&n7uxb1>Cn)JtoYd!n{^^*Vh**ZeTm+X2V;9pZ7CT8tQYtfiH+fs4tt- z`}k{XYQJvP6)v5rzO`-)&{>00T3RDS;1=~vR8`0pCcAycx&=?74?O zKxAP(A@}d0?Tm?8yRfh$4TIdxaQ?9wT9<5ecXcX2eORdvzb!YYLMl}G5L1Ob2A;7{ z^MpDHE3Y^%(ZOudw}rPQz}9RHCk6fw6LY40j@KH znf(k{B}o;FQYe}AJ)s)lNn4mBmtfn*9K8@xHqX3N-hc<%nd5S>?P5+?Ozot()x6-N z${WooD-EHs)7hMQ6@B~ih1j+=XF$jtJY{ocF1Ah0S=!S|H|I>p&yCG_6R~Y&E|`mL zCv(wqY@3-mI=<4rBh>KB=5~? z=T2Xp6(ut|@Y^4|Kp+^nlRjm0?LA&Z<>#HP$d_zQO&e<3(pB40)1E>z9mt97M69GU zMfkdqFPTAfsVjvXGwE;Lsb?0sIz6Zh?E>TMMF+Dx%4@xCVXW@zYdxBdhUuU!K)3<9 zp;~x=fx?EM2uE!UW~8RG6ED z2?c6D6TWoe8z6jph3`w@uOa-Mgnx+e?-u^IMc^<*(ZzIcJCFjXL9A!%Cpciv1nwBd z0(2DE%&NdVHaps5gwjD))CEU?=hOt_EpIg(+mSwYM$eSzB^q<_o+caTK`~lzNmpay zD|x3&*G*ZvVs-8!ST|GGkT0dH6o^5BH(3?q$DfANyhZ`Md{u(ccfYUIG2&HL#;B8bV+g8XwvlsexF48PGb2 z3NF|IQJ;Dkp-4sj#X%t8m%1KO4b+h{C;%`B)gu^X2niNrv;#6a`k%5ga4X&H`#r}m@cCBq18;kWW0ri;dV`wjY6%;N z^Aqr*s$weIcuXJbLFT4Jp3WHVg}4n%4Xph<1IzODq3{r(v4w%ZJ zjQ#)vru*sXw>m=2gi`iK@X4yd@2dsB7s2l@8x6t}z%tSxv>>itLwMT=FT`X%629re z_l)rO6aKRzaES=qECO$e{CmXC4r1pF6X>(J1ux&#qbkJ~hYib^ABss;oN)sU~#h@hijciV@(9UP7=s$_dxZBI0T(h9a4 z3Kb*~)W0h^cy|l$W5WB5@YNT-dBO+b&>w`qo$!wpL8l0YMDQt=sT+8NPVz(D$Rl%#N9?9{ z&0#$Hz^pHu0YEG>YfY-*CbDqB+)#De>H#ZH8)9xOB#1CTp>SUftnZJffOii+3`5gA zr+TCV1~M9|-@v9{5XhLN3&?2#Krj1gzQ1Sq{+{Lg`z@($^;{<6WvY6?x_ZR@X-*Gz zNncvu>0I@u)fX09>e&-*%}V77rW7?c_)hhd+ywQBr;WEWTnnc0)L(#D!Q2t*UrKj17dZ&DwXE$niO zK(^l47DTIjsw4pxXUAY8PW@8hQ5?NN$$sLTGzd|GVasbVqXp+z=F%$$E2I7VT5vOU zapAqZ(J=oEk#$9#OsI_RoF&elGiw$;dhK9X8Kk<(9>)#gN?l)a{^DUO(SrF^pcg9%>>6JOLqz5X+HSFAG`GRX2Mr-`507;D7NRUwifLk_6LitIjP^q49THfgUzf#WY- zPzC1vvPEO>CGd^$)&oMuWOc_J)ZZWixIydy*v(jXnQH3-?qdht1x`F;=BSz89&nb~ z&?PORjxwl1T>*!m9-a~^=i<B8#wyBfK{>#xKm6RvXacti-juN@g^Gm<=TeV= zUd~Lgcp(-cz?2%a-T-n0C`Zio#kQvd<}oTPPe1v3ElRTH$u5{jNi%I;jRG1 zUGTZ9Gz3uSyY5t{wsYd9bxYcm1zfl{SM98k)6{$c-%R5)C>a1sr(tc7aYqL+RG+7L z9IKbocgy?$h85pg47Hw-RA8AXYlh(GN5I;Dtd{lB->U z(J^|8b#RNd;X%*o6FL{uOxj{fG04#qYVB)i&$WwZ7{0E0H3#bbA*a?Jtha=lS7&r} zZ-4lM#~~HGQ5T5W0t0)Fs6S$mcL3a0O}MQL%s`)jbsiU>d2D0UbYbuXc`R(aoQ;1a zG6c#Kcr9pgP}|NmR!Ka_I>IbL97$uz*YIQ5RkZ=RxE`*tP!PO(9@g)k@D7Bp;r?P! z6{1RsGSS3im^*AMFP#$)v88nIe)GU7Lca)-2S(!yy2t_BFvCvpF3<;{lwq2tbe}l9 zTj1aN>tGCZCdfrtRjtf9wDW1qfnwP>R|8&GYbRe#9%vAJc}N8hL@qGhQ8z55743l<)dXN(;0LPNdKNOWJh=DKCHMZc%bPFY zpKlIS>mM$L!~5GZ%z$JN*HAGOKMXPC-um9b01k-j$bAsWheb*5vFNL(AaJ0%rz$q; zdxvljC>rOIFB|Sjx<^&$p;8QWEA$u&J>dQ0#+NSnwG)!~@f>K)l-Dp@i)`;O=mC(I zXW;eGdZW|GXog_U0lXz-1vKm<@Hrr*y@pn_c~F}}Km~H4=C~knS6l__CWrH>uq-N_ z>M@MK!Kv!UcdFG@Q}F2u;9Mj4TruQdm<>yd?_6uDR>yOBjiKI=e6DZcToCew z=RqSW^$CH^AQgiL1ALZw*qSvQdd)_4c-VRZChj%>)4|L`Al@ju&fepwnT$=tzVio- zTe@KFs&%Utug@5K)rPf;GA6Ft1UsuNS(KZbL2HQDWlUK=Z^80WLq|^=mtk$eQrfHk ze|7>scb$tMVc@Khn}OChx%Us4JW!&9jhH`E+l#bm2f~wYOuLZR8EiF zja%=+Y8SQ9fW4f!zzLS}09H{-nVUGnDuZ9sEgv<)>EWFcERLcPS=_ni^fAEfl zXH^(4$AF{0=f%J%!tS{Wcu$Yq3-LM)=;xjF(RhKO0NB$6*+rI(z@29xfX^DZDlRPS z>=*#^is8%i6d2J7@M_GOv`WW%HB}t)Cg&p_-m}8kgp2630TML^!+6$&z^X9~W~O1( zP=q?c4g5f7QeWH81SIl=^N~*aOmJ_OD1yq-J_z1kUQmPI~-u(&Mv8kI!N~K9}_P+%kH65$W+Itj9N!9^XiMd);nQt$V~Bno6Kv7zyeYq(HaZ6llKiFLwFg5b!U*pVqjb zOoPsyon4{T9`6;F6x3oV=tEM_hoqoCNkRWIQZR_5U<^sY7?OfLjAZGskGT znnyA*k7Oc;WFm)UVj0QAvPhYzxmmk-^*0Z~bEI!ui9wxaQc{!$2+M3HEG!lw7K;!Q zoZT!IyICv_uvi?>+P;>&LC4G+$Qy>>dFshCI+ou=o*9pyJ@QGm22Wbn;KRxmBh0)j zUyO+JG%J_$bWyv*C1^rf3Bs(H|0)TpXYrP*zMrc3eiHC6{}hRmf3`Dl+!Y+)E}+eY z)bU7Bib-JZJ?6bPg23Fv1ZIm({`?k!@p-&+5L-xKMv=5No4N(z)^@5qp+#jTiONh8 zm3bs8^H@|ClBg_<6qWR)WIl4qd^p#T!B|5KXd^M8jl_Vq5(C=GQlVHXR8A~>4OeZ$ z@nyYQvFFWFquaz)Jkh<|m$H8_=_icR*;t{+yU=<8Y;+r~)oB$i*2=53oNuB>xr!fU z2R+IT7IGg8xsQcB#6lk8$0_E=DP|!*#zKBf3%N($#zK9YCDiCQS1QGO8!qsl3-us1 zJN%_zT2`q0!1@2Hgu2u$?pj`oyfd!CZtkK+DSKRmyaQ#Cx70#jR}#JSRRp!Q47E)J zwM`^7TS;oRGSEy0n#n*5GSGq=Xcx=kO=zB4%3^th%*QcC+A#}h4^=kOo=XU6gVm65 zq>U_#w9fy%NGtxa6lu#`MaSK{Zc5oJ326mok+#x8S_?v2-5ErOW)K~kLppvA>G(yY z;}@}xUqU*5Nu-XiNlQrTZzMXjg|NHbVnbeLLta*tyBM##7_a*nulrarUeAj0daW4i z$$Oan+%uk?hF2>au1Ke1DaP_6JQ-?z7+ftM0jqfaS1H424Ch)K!|CZRm_b0ry52Tp z+>D$Bzm2RE3xAHw|EBQ2X|a}F9`8B}(7g%JDQk58V4XF+HEG#MnsXy*&Ml-lx3K0^ zj6}sq3@{P{8i@_$ew{m$F85C+9)1%e@g@t2PgOP&-$)3F?bQ`gkk~VcM3KMChQzk+ zf*yoKZzK|#HeY2!qR#@L*W=x60k9JR&^ef#)WPJW4kIUZSQ#gEBsr;*$Vr`~p_q0V zhia}MJ$wb};kl%T=dvDNKzevVq#jORLYj9uvxe1#{ndp14TSv-#I?5&*WSX&myCSL z$lt}t-^Iwko{@jOh5X-CHu7Jp5cw3iNss1nh6ir?g~7l2@UpxiGbsupf2U0pTDS|^ zk|=D86a|jp_-vxEOZb<#{J#_MFMog)!6|a?%y5O)dc4~#;bCk3k(fdQ|6F@${_`nOA0EN6x3Q$ zP-|&AWD`w?Y|`o}RR;CKs75k4f+->Hg;uG)^1T&;DAuH3TXk_5eyR^FtBLCWw_&N& zR}Owf5aNluYuurE1R+?wU}uGFi#OR6kg{yC^mv07!m2aERuIBg5W?0H!qyVPHWR`& z6T-F;!nQHOiWp%<7Q$|;Y=of`UcS>2*Gxq_8_X;i;X92cxkfq(fuEZgRD?rh@d?4C88zX9*7`Fwd$-|cF;+ts7+Q~CxXu$!5{ zZX@a4#(@KqBdjL7Z~5%LikGhGwk-;V0W$XZ+7`V74R>Ayal^s&Yc5XAxM0=(Sltj z8{J;y0QVvXxDPqNeabk%{mB6yNe=Kxa)8IM13Zx&;ECh_Pa_9-8au!<$N`>F#sQv9 z5T8f-BV{#(f>!ILP7UNf2K+t-{3!qzqj&jJSphL(VSYHI@U32IHyMv z-y(mv4d3nE1-%I0W+cAZU~RSGJ75_szsGy4h31Zo=0Sw!L4@X^gyx}T&^&_BJdw~m zkxA6ODW#jk73h_%O zFlrh=X;7w<3J=Oy9JOl_#3H}I2I5xkg7yUBt&t#RB^|JV7}kC-bHVa&_?JJ(QqslF zotduCdXM)`3)ZczK+Il7&t3~Xrz;yhXA?(HXB90F(;|r;k-x=;p1SVP-#p%XtWmE| z$}DvwF~W@_VmSkyV>$yj+pagrU69ARb(;;AK})v=Jl+Sa+p(O1)#MDUmIq_q&w%n6 z`*o#^y`igUjC%&Wd>@ zDdv@tiaB*Fy~V8~(3MG-iu1pG){N&)p7Gpi&3LlovWp#;{p`5xXUF9*J1&Pg`hF8D z`kPqMKggo`pe3qrRko<|#*pRYxX0z|bg?0*`na;pd~{N5MLy?Ga?+R2UGO6*{e$pw zY*V7F^z&`fwO9CaUH;z-_?JJ#Qu=$GJG;9=8$I49EFl=cLNJ4bU*OxTWQi-2u{_`9hf1%n zi2UA`#6iY#dsise<9)%pFPQHlEg9p!+Nf|s6Yais*zT)=JM<5a_f_jMFq0C?a%S1Q z#%NbKY`a1?cflZj{}JgI9`En0>%v@jT#t82%-6o(cJa>cf^PiUi*18{Soqhu{7`4~ zLyIXa%P>1lUqL2iwKQXax}z=Z7Y)=0Z5PaN7hK9YMP)+#yIlT%3qK6+->v(Bx6AX2 zn5$W-^NKie8Ozp`AIEMh{~2a$s`o9+v0ydse^>M~Y;NU4f&kAe?skW8gK$_7I5E=P zFfyb~*%L*2z?qtvC!cZ3msl27CK7DLNlgaf}VHAH0@q=ou|t*cAd8r z4?34qoOHRKgYUXc?;p^08|-2Nr5|7+RR~`htRGy??P_WZbGcoEZ6|rP_6?w2gr8gU z!YODkck9LJ^3(#@2?$n*p9*(hux~4QR|jsVVw*0{uowS;<al)E)2iGbYWVm60ITjCrvq3>3*zV_3EPe$~ zUlVI^RdYZc=M<<1rHjKr&4ZG~^v@ghvHB~Q0pRK@yk4IRlHn@-|2+i(GIT)zLp^Pn zSaHa_O_+ZazS_d~od~?+3a%Hy^+x_*Md*+bde|uRq2}~I+YmPD*m)J}_-~!TOjmw; zcVP>yInAN0d?41Gy>z2UIq7G18P`J!6F2WO~ZzQ6dXQ`Tej-BMQs@ct|X17)~PI-V;$pKa+ zM_82{VO4URRmpKyB{#AvxshWkcXLeTZjPy(Bh?_!jb)zuQ6)-#M^wOnhYJi#RPv#C zmj|^53w^sNl3$}j$*+D{sW1}(it3&>!?L)2%;R?H?Ti|%7|tJ8HbGK)OEi$JoJT2< z$?t9>GJkZ3-XdUCbtZJxSLlOS%Fq zT>+M^T`XO@Si1JHbnRp5x|*fyYL>2RS-P%e>AHcX>jsvtyI8vJV(EI4rR&MDIlgWP z{_o&{pp<@MW-kK#t)hS*_h=~JnXEn~KJa6en%wnS4H^#ECMgNf=fkk zsgeJY2o)NkyNtrTFsn4dW|jW!4n0m%i>u`$q!!9FlGLsssjah$so<*ER8SMj9pkBC z+4HgN`PdNcWLewEvR2HpR?M=tpJi=7%i2knwUd^tJr4I=S+a&zBjsywfrKra7Bd@} zt3I|=jEJW-jhYpQJgv8RrCopqqW~>W3Q%IEDoi4(+a%%vcW66F1g1+yNCee zW?_4nh3zr6Jdd%^(U!1I`7{gN^DK1FvkUYNyFl+~7bru1G6&}xW72RBgSX1+;TG8ktdPa+?EXfIi!zQ)QpQ-65jnW|D`9>pe6X$W-$meES8$^U zZZz`05uw9I=ux9E5EfV5Zi_2+b{Fa$=!Dr5h9p99OaZLx^-$-e%JE$W*U_OdsLY<2 z`G|-P*w|F8NLN2IBGNSt@f3HYD~YF=k*-T@4C+I7==UC9NpV96Y32B4A`&o8bfJT! zHcC+u5|BppiA2IIL_*wQpCl5ZBf;aFXNf(;cdGj4I~;39FGjQ1d$jzcb^*r|PaaP* ztCMJEbyAs`)yrs=$!y{mvoF)n3m0ldaI|&jaO|fjFNCtqd|ld4L(p1Cb1+ zgQT6rpq+^~lPX`;oT!m}m2;?n$BgA2Vk}PiAv2T@nW22j4CPbJP`b)*`Dwn@JffR| zeK_!T@R!%{5>8cxIE<=797a_q$3aym4x?%lhf%fl`{<||>-kn__55iA)qyyT>YzDI zd)4DAya2TFe!M^@HAr6oTD|epCF;^k@Hn*k1$I`K>t}>kPvB-K+SV1?MQ#(8j*e6- zU>j~c(F$3J->j!3kt8L@;^)??P(K{B@_Iawr4D6ryNXE?)+MMM=O)*;0EPb?Twrjb z)(Q6b2`5R~*MUjP$l#iKA1+otQ>r0DkyI%%A48t8S6lDp8)c_Ti{P2ed2pGysM7c( zRf0) z3`qo4S_+8QQ?TR7$7(o;wBn#LT5%|8#c`w+$7wlFo5)&lHfh1xy1-q-+;u2G&2zaR z`&#nX)>6=XGX>2zbI^PX1T!jP5S5EvY)| zF3wKbXHY2Q5Ad2J#B?=_shUlRZVl!0EFI5V((wvQ$Lp4Kyvx$@E=$J;EFB-PasPsi z`xj)~xTk63-d?p}W8T6t=AGG? zcV=VWi;a0NHs(Xwm=9%RK0X6)Btwn2jQI>U<}=8cw^obTcrUVy_v$SCN|st}8Sh>2 zHY-b}*Pv8f4;Pq{s7!0)9nD&wfwPw{(={Y)S!@Y)*j!lHt|*b#dNkzM+7hOqxT7%R zE+d?@*3sRMFws6_6YX>E;^8U#YLW%MxvXe!0=Q}m+?FhG-Fak7=TWiP95S9cWIR`p z@m#^ib2S;y)#1hy-H|%mc#dpa>^U+NmsDAxC9jbzU{_%`YmiW^`)Y?t4w@L@0+GijPHh-uCr8&01C z|8y5LCA<7Lc*hZTc{>ZQ%4gx7L&7^p3vX>Ih1+n;FcPwzEMz-b$ab-i?XiUHFbmmX z7P4zu$gX7}yMcx51{ShgSjcW+A-jWx><$*PhgrxTW+8ith3q9u$i9R}svP5(>)Qdi zlt04-E@0fXRLE>0Hx{z`aIx}jW%bMB6Ecj^^@|iTg+g{1&Yu*r1cZ#_2=_UOkR!h( zM**Jd8`?)t;|*PpP51GAsoAJQaqDJiy4Yui{1Oj4XH!^jHih-(kpnxgj03w+JFxB6 zWa5|Ft(mL8yJZ53W@j1Ntmo41mLYjo6G(YLuiws+2R7s940&Ad%?|BK{M=98HXPkk zXlZV-mpn5F4?rs=_HfFFmvg(C+Q)Ob)wkbTzNjbTpuK`ad#`Y4@0DVbcUb{X}{;Qkr9f4a&dWuL_cqOI2JsENJtb2Bxw9k*JkbyZ9B zacJpvs1>B#)C#TKx~t87u|KqWLlCFhM#@fYBW0(&?0tCI`^YC{r}9bJse`2K)Im~q z>K0OV>Xxy1-p1-)?J7Vkuf_vS)LD9`>a2dJBh~X0@fAWVk7I`+>a9!h0JQQTM*_bG z=vI!tBo$`jQo{08SPglgboF6H^O#3V<}ovT6CGi6znU)yn#|0JSCb9b!8zXjS;n!< z;eXARhs~`O4#FHDd>6TV$As^g5ojoaXN};;#?D`rGJ31*3oUXC!YaI$MCb1*tH}xg zF`CX_Mw-k?E3=%_h`?V-1pZ1U@Ndq+rv=X!%#cOP&>#_JIPQx$xyqGp?04|THgRzRHhP^A6JOw>SIcEa7DOA9+?#t z*CUd+CMLKKUPJ^FJYXR@i}mMFVs}G{-Hjl8k0^uh(Hh^`m+K_{?8`SIH2cig31fZc zYZmFuCG6+wgt0!`b%t1?~i^912>!FrbHguPvSk z+J)G{1TM?ihb&{CvReO?W$jCrwJ%xLzGYeaR?Awp{I`zSLaQILfvQfjr>bk&%To1Q z<8`3b5714u%D~UiF2S~*>d73dr{-84)DX?Fpp~bn<2b$iwVN6@pBWV93|Efu=J*bx zlZJ)-MkN~78Ev0Sjkf$1v0FYR}*(9PCbrGC=u7s!!@ZKJ70!R9;Mxur;ZCozr z)Z{E`tXb5d_(IPJ^K;>AEPOwUz{jrO4iVg8NjQ5i1{-D>fU7PYMf*C}7d$@n)fchSUf^Q2v( zuS5N`7tWcK=mdgDVU)PPjS_$E4t+$t;&XV%5h8j6i>TVcBHE95ML$|Jv6{H-YUZ** z7NH=EP%(>8F^kZC7NPwtLWfy|4zmbd$0Bqci_l3Hp_42^zh)8oHH*+wEJ9CNBJ?MC zg31!1lPE$M$ryKmMJQTK)&tl1&qN6M^Uz2UI)x&HJJ}^gC;<^7DftV$#t137)sm8J zBqdq2oXDVoto$(VD%ybt*d91qt49NMEUS#lV)Tvm1BVpI0 zB3e>WxPj(|BNiDzZR+z_WROHc`AG1++R*nZR57wKj*r}-_dLG)EhOkg22g*S78zW? zX-`d1ZPv9SB+vwA1QH%XB*eYQAc=(NNbvZ6V+}SJk;q!5<49Snv=K~O%dXyLa`iTo ztGAt8z3tX2L&auMl{JfnY!(Z(l}eX;*bMHs%-{`d25(?9cpIC++q4;MCC});LpurW ztW!S3X7M35i)Yy^o@KLmj?LmZHjB@(S$vMo;@fN%-)5>xX@gDV7i1RYKgcY~f5_`N z#Dg)5%HpnP5ytJ{0{s%@t`*r`&LaxhgZ(lNcG3!W0*#k|`|9z%ZVfgr^)vT_FFHyG za5|03LC@4Vj)FVmXwqmRO&U!sGifwMPa1Wft*42)&n7FqgkrZ#^fXcD^MW`}$P+wO9Y&YFRCHBBS!x2BPfEXNK`d1N)U$Mp=0Qy$kmAw$wefY2^s zSNTrn1b0Sqg0}KO%?Y5L?#5^BB`I9gRX()}Po6G+%Ov3iizK|uB;j2q2_G>@_-Kkg zLvQ(4ZT&OlU-j)c<=>bk{Eb<{kIWK&WR~y?vxHxWB`7Dc1mz@_pz07yP<1A|%|kdt z)KuR=d(~8@`gc(6Gw@cSor`Tf)t9~NzM4j~P$M;sfL311G-44*Z)MSlH&6~Y!UYm8 zDFRhh!&lu!n<+whFP}zK;Nuf@xErU4dU{XTsRQg1Ak5lu=D4WCxa90mtl6Qy_(Jax z=AVSGuJC;?0`Iwkn?!Jvk^ij-9Wg?`F$#lWvqRDr63B2Dwj&y{0)`}lhWs7?uOkKj zMj8U!C=d-9`TvrJ^fx1D$onV}anq0_o}$x`u(^pIwn)LB+@W_pz7H)VXpZtHL;`Y@ z;TISQ=fzR_Mk3*3L_*vgC5eRSNbvanVhuJ&3i=GwYXkZWTZ4?E&jk83L4R^yMug=u zO<0^W=+g|MFIN(Mxv~s>nL{}*%evqRvzM*HruPO-W_oW}i=Ui3h|KJ`tQrKQc)by-zxx-@=n>n*0Qhq^p_4!eEW2 ziG9bZTzQY~^DmXFnqnWPT2Dkwt=G|-&T5CIcF=16m8o{|ZST^z?NnSgS8>@~#bt99 zm(5jNHdk@kT*YN`6_w5Hs_y8F*M(Lm45g|^_2)+F(GmJl^VD;5@m>e1=j4ajbD(-h zFR_GH`tZO=^|5Ad&~C?`!__zPq<*T;)i?Am2CAR*Q$V{$BWRdewHG=elrLt7(KM=gH!vzv9#ihY(W4yc~0n;1)Gw|XBTAxVp z{u9BQ3+GJg(F8(wgwLnoHAd*ZpDldOpv;r>g)7nKH_M^IwJ95+I0>wa+1Ojt+U?`1 z(a?2D|3vHyt=^@_DMK913UM^6n4?+69L+kw(X0a$&5}oW&g%$8v*gV@=XEpBc|FAG zSr1w1Ss%ayRE}uO_x*yRfomjtUtqV;PCb+xE>XUGsF8ly-$p1e^ok4dLz2uP7IVmi z7i!)h%(sNkEqtGgz^krct_bED`JakVu@Sn*DBK#R-J9C9`*ZHllVowrFWZyhy)2CU zk*wjaGd5YPRi&1g(o`)trWOeJZ&ZPCR`dDj)MIKY9Gyx>FZ1X`FCDzvOmdk@a@lC1 z%&)4q|H`4f<(zOg3WYO0mjrkfSDxNPBD+cZtj_HdNr0ykjh7F=T~>}jP4R=Gp3gL76WLExwgIlxZUg9)HOus$k)#_;n#cG?ocZ zN`!%=If5i^JD3DXECsUb5t|*{5Npa(UuYDgQZK!xd>j$MR3Xjjx!Xnv$mI=wY}`D9b#wg5Ibwv zu(NgzJ8LJ{Sv$eb+D+`N-Neq?z3i;r%g)*}?5sUwIcr!JvvMqRj=wFc*k9lR3Fjl0 zs#tBKZM6VF&$dSq+5;Dg%Lb1~>e*O&_7c>yHwp7y;j1Bhe-(i@UBT5NxZ247T!i)+ zq5F+O8K!4@+4Stk?gDo#aqI3~9cHpUe%K<5Y%|n2n&Qtu;GmvOI1M07&!U4Fzn)Ek zB$l4ty(nDI?h@|ex+!}fi#725y%}KxPhL1~UlhUBdRTa1_1kd62GpR z|9P9GNByiv{j5g|S&tU79^J!wbPwy%gRDmnvL3yL_2@OMN3Ul+dc9Ts7^B9OqbH~P zdm`N5feVaJl#1FEWA%xp^JAbSdn5jFVkN00FNnWg{F@T|2OGMIu5j;Kk+QdEEc_3H zjk`;W`FQ;OEucg3VnnucGr7{6HEf+3nO_DV+sguEv;`0-N;Tg<22Bsnrz9NyEv4wTG+!`0uvOi8L_v}{ zbFqk5etVnpc+(wvDHb-eBf=V!ED-3h#$*J+^8kW``G-Zf*>qsB{t8UTNdILBjVqv6 zT%05cjabmw^_fj`>~$Aiow8>{EOZR>b}XYgUV=f1FfB7I&`dzh0lSBh=D2{)eWd2N z^1L)h(q)SUkNg%k&GC{u^h_*lbdS&+CHshJ%>k*c7v51{h@&2NKr}h(u||E@(>A5B z&0Vx1WlyVE1K&R)AiC6&e(=cW`}KxB$Qybk>av#48}zn1anGJ4aS$B`vBtSegn+NH z##syaT1&ta-ecXO20#ecCk0$UJ>LWudd3>q-Vp+vXAP_tVB8o(6aT)IC%{{AoZ}W? zs;2FtLdUT5a3Tal=tC33?RLmd4aXn{Foc>8h;mhP)G-_>j#T_j7BXvAR#|$Fe~$&9X&lL3KU+r}*Dugbo~}XQ%*)iDcJMrlkLOu@dcHbU?&r+0 z{Z{7KuPYIOdl7+8zy%U^VQmQH;K%Ra#N`J+s*kiy&cH%Kp(e)**<>IjI%G>VV(=H6 z9sHF$v^Ex=yPMyJ;h6&Lcf*K8L_w~$U_O#y-gcf&@n}15CIY+bMqTl$>&6v0UD;Kd zJ-A(g3;5Ec-&*Baz^gn9R$~XJ+>^_#UggFTvx` z>hrXhk7nR!Xmv@6*78|hyd2ugxrD~^Ttegd@EjHVPAmC4z5WndJ?E4z-{mZoKhW%I ziu_8~tEeNt;))sH^K9$)dbYKNGTPyZpq+%RQ&pweR#lZ|TU8C3ZB;dBwpG=k*;ZAD zw18?rT0k|RtQFOUCcRV}n)Fh=xgJLEv3UMwYM8Ev0j)fW2imF$T5Ui(lj~z(rGd&Z zTsi*3D61G*@1H1jhJ9*d)yFsh*C}6%fU$#pyw9W7#h7I7i{&Vk!=>^&+cd{J?$B!$ zR3VYKmei=v@-2+iA0}=J9HBp;&NZ!LtRhv8|2T}EuDg}+Qm=?OifzRrz~lsiHVC&9 z7bi->B)Wki8xnn)F|wgP-pOGY@c2*hU@NR?;lBw78*5r5988HAY}*Py80=ecu>Hxw z2DB%T>QT{P<0{DB5rYktg=y-YYg+W3-4m_T#@Vt6sX@1;ni_Ols!LIH+d!W-tinEN zo4GXRcFHo{&aA-4tiWd##|*L+4@O$?Hgd1F;?Q1>XH1ue*oq&qtoSW##cyFNeivKu zyEtd+4ChFl;T)-lI7jLsvfA=7&XIbIx%)Zh?&mny^mR^Ed0kuW4Ee`7)!;_tb@Gq$ z7QCf;@;gpm`A*yM=JFS9$Dx(SutNuxqANT=JBRIfdjN4|+3`D2O0wYs30E-a72A$a zgzHpj$4}$kJQuIbCY{#k3cAz-$j`Ld@%P=K-&JJCPnX#79^QAtbh!2d%+4?_5qA6@ z0IXh3au!wly{Ou;erCd9vIx~4X~*wFn8aWJoD3wsvL0d!k{u!p|J^p8T+|BVg?!U!xcfd%DO4Q3Q z)##-|9;w!!$E)p2j{AjR>`lwvbZUTirESDtwj>>PsL%Dk0%Pz$v?n|GXs_Xj$Gv7L zDe2KAoeX*O5!YKiM2t98h9yG|>x>ld_dF+FvHQQf-*XskZf&E@uew9eRYaS^_tO5% zCRIWm-vw+%uMy=wE8;bN zV!cM*Ik($FJ!{i#;bIKUI9F07(3Q0NZJrLz^vTg&+n{g&nF!1`GliAUvaeOD;@3WEdQzJY@pS<=Q`yt9R2x) z=WLujXXB*kk4oV=n-re2sl{_PwRp~^DbLw7vA9!Q@{`;*HoDafGZ#Z_=HhF2=r3e0qQ=O> zcl7mzN6IP6Qnu=&|4U15u{^l{D`aT@fYGbe{Y?QTUn3qvNtj#+I$psZu-<7lTlY6> zuwfh09RJ^Ou)l{fsMMV}VX&e4qfq(D!LGc)MvFW&VzB>Z4L0wl*`H=hHqVyDXp*yN zwj^t*E&-lJvn5#@v}MhfyRF?ccbDv@xsPq-zDQfyPF|~RCA8Xfb&$7c(+2G<|tKWkgrQl)5H2`%iV>Hi7giPIDb2cRn2)eGbRs!X283`Ei+jcyw&@|ME4 zB@Lfs@B|D?8gMota1p9LoJ~lW4wc59^xCS3uv4H44tdOn6Kne~v&L&*wsiTP5gg^}(?6_wWl7oHzgN=4BV(KVR+Zt@n3dowJz00gw z+LWc`k~7&(2G~diw9QDD1#FadSw`s?8>M4xlx}3BbfY#(t>kI_cW5V}RddRF*+|{X zM(QjZrL%05o?@f)6dR@2*eJcmM(GnaN}rHXlHZb1lHZo>Wr;g1Rnp{qAQi#dqOz?X zrRu8QaGi=K=L2=|ZtjL&ak-62(TOfP6`01bjX-;OZw>Pb$TO@5uiifY9%x|6)y=3x zvC`uIh{e1Zk&v{Q39eo91fY~+m<>$F;rpMkfh}%Q9UJW~ujkL#^InlBtsv{I9Av#! zcXZ0rxn$l>Yx|iYAMS>qp|$pk{0%#Tzln4N+sfZ+8w;(qSL7So#&wl%tRheF9X7h} zSw{B@Ho9N1(fu16-M?9TMgF2)zD)Uxz8$A>lGRmC4x?7%Flse&4OJ};qt+rTtm<(X zwH}92Tap!4Ey)V29%O}84{e28sKMF_LtC;HBu-ydmKAP`;<6ep@ISE?Bx=jN1w) zkq{jTvHaHl5q>KyKMu3mm*8Nd%}%%&a>QUq`mH^2u;aGb$-zGV!A8HeZ^U5tu?8C~ zyxv86()^)lBuCGOWNozZ6IS%c&m&gI1N3<_eclY8;dpQ9)g~QUJ-yjm7W3y~-tlm+ z4AG8w@>ow~2Yux+>7_04KY6qC;>oh*Jvx^j+RgacDIa87@F3HIvrG%lYCGId zK9`OCpxusbfB7cwlK3X?k|;mqT@vMoyi20|lE3n${z|6&k+vI@Kk_b#PR%qfQO=dT zOJY@G8mekI)1dwN3ROM5Bj6NOPu1m(6I=4ei7iVvPVCAXCw8?qPV8%KoY>deIB^hB z5;fG?IB`^V@q&l@eiFMSA&;p(%JjTJwmcQsP|eHi`;TDhP0Yc!4J zcw~@i$S-+oO4CDc*z~9>)@F*0c{9bvrJE_X=gkz`(`JeT%`CdUnME5tPA~^ryDJVX z*b$nF&g248)S}6G`(5FBa*XSiX*=` zIr5b^^2phS*hbzHm|zVt>|;4SFcF6s%UdM8SDqf?()v9CEEpPpwTerVYtEytIS(uB zlnpP`yj_?d2w$r3{Y?aZ?+R`Z!3{?K*CKSa5qiWZ^p_fv;JbPqSG1vh95jOa9aq#1g(hN$fiCAg^_eC+U7v`J7=MuiZ zh``IP;4%?hX5@b?LPbXC*GA!0Hq`*DUO(0|XzGtJ-Zs7%6I0%0VXVRvfU2w|!5@t6 z_nM<)=Dp^~hY?y%S;(RBLQay}H<6C-n~H4%d4}hg&+z>6vlQ8u&yLLrEJ8?PuHS$} z70|dSi|oQ6nS+pwJJ&A>$>{pXhOv*_q0b3pxbd$IW8~gMS|!Q?F11aUco*A{wjAK1 z(_=U@Fm>%pL{Ou()~>1>Xt%8m;b9jpSoa9rLgo16(*wB((ihNMk9&Ufyu;+Y^A2xCGD1yu-#ig6BF5 zo*N0C8^hsAsxZJRGQcXbh*e~fR*_D*m*Q-4FU8s9A&RrfLlkF|$2f)O7{%G-2~OcT zkuyE84$+BK+ecpz6>8~BcJ==RC$4X}Ay>M%8P`l znsA*8#Y2}u-U+>u8a{!FOr_$H-_^!J-gAdOBH8#5-my(KNWDj2A&k+pzTPD^sgRa> z-;OidPz;%Tr3<(}PSk*z7xib-S4uE3siMKgfLV6LUa9YEtrmmO31D@;Kc` zvBpzc<292{=&2)U<*A%NK4Js+Ku9<_CXPCg)naKFET^n|@oJbMNoPB%vrS6my+|bz z-N0%WMm||mIjX03woR4nve1>s1~!M7Vh-=ccGY+UoAW9L*HH%7QF&^5pcui0doo>` zD4o;bilB2C4XDswK{02cW+u^eq3B%kDjS`9$-S#-%AV&4ZO{B?XdCRk#D=y57TPAF z;W~);!R(xbCy+~nd{LJWK|SR2$j(XXomjqWen%U#dCMJog<$f2BupwYcF1h{d*|8! za*YKL%;2fxTYcKxHIR2QVZW0J`{PX5AGZiQ>W#`G?8gwX-@pYfAYs>tjhvf= z3cTmBElCow(Gg3aeD{1nNoi(wP~KpH5_TJz6*!3)_%oa{;W%)kGHEXmq&S5mzZp&+ zmlrlL$&sRRq?%P~HSoRK(D!Q7zz~t|D>ZC`U4f_E!R{%c9|#<;MS>%YMjfi-sP2#j zDfsg~WKiMp;4xu(YjWUb95swB&oJDOlf(h2S%$kk1)#1l9HocngdZLN?22}%C_M}@ zs}!Ra>=z_|G1Rx7z-<-)R}e{a4jiXh*}%!zG#oM?R-!q?5UGTtg~JIOUO0x~A4U$J zqPtC?$}tmkWG-zom+_rWWqhZv)_rE@QnRM27m_e~&!hO@yzuxSc1T~W>0z^_(!`G` zo5>g1%*y!&R?auDaz4Y#`HWr}&|E&g-VNV^R^FNuxE%!vm1)AIrYov#3nFy~4i2W0 z#U)b1k|GsVq{0Flwhf$uUEBq2NopELt7<2ITjG55j&MGH4Pel-D4fSt;r6w?EDqZDAYG~p5=S_&*D3Sf`*e&gS`HVOOa9HJEV#oJ2F2yA)% zJNK?mDSO_I5BWnQ9H9p+ZniABRjS;>CXE#eP=3r&;x$X4U%ytKKJI>iR*%7)F5-o_C4iXg!ROi#x!Rgj{sU zRW#d&PSZfIou8hyz{D|}+PQiktA@G5Xi9H4PucBeg?NA!;sI8OM_C~rWrcX072kfw2V+^gwESC%S(5@W)m=kymvHLY#;6eupY%Uisvabr)sW9fGD=nMQD@i31 zm?I(T{d;(gQKms6Q!z?OcVw{OX$$w8q~dCXSM$Q!tHT)sN8NNH4PByvTy{It$M0EI4no;JmE`r=$ExZ*T>zF5=Wc ze#?UN?PNT0d-=1J)-R9Z73!%}5-pXg33F@JbTM{-RvyO=ZB%=$_Mz1Q*({Zng~y>? z#k)~Vg11^ZvX~oq2G#p~xIn^1^xkR$mpqL0#atczc*M7?*G+H)D=& zeM$*W{?YI-UvRX$AXiJSIUe4zO>)DW=7Rbq?y`K`?lkxD4GMFbJ%JYixtjieMkJ`~ zmafQ!x^B_p?kmUPAbHg$pEHc~VQKw44uum}Ac+fXl89x>)uZr@q$DO_ zCQBu8PnU4lW7i^g@$Xai?IdBu5&sW_ak$U03F8|e1zH&ICSh!tn}^cYJXao>6?hZI zQ@#xsN_e3b?2GMjz;vH23HvRC3szQ5!sUX%W%rg6xC9%zitcw8cSza$EwL`#^3?{H zio6Ysh7a>jw*lo{3n-kh-%uXkfC{p?JT4C+WYXo0Os#IVsMTp!zNeX5Jz*)^CrH^k z$ZvvU64qE3RTlOW}+YLIeP zH7w=a5nfH@DCb#$_YmU!>D{{=T`=^=?{KWUTsvNU zE|*{8Vds@J3wb5YLe8OC$T?+ZA?Is*o3@JQ9XHUt;|7{{+(Pq?TlAS*%b>0T0__#- z(S_Kf3q^W#P2|78>QE9|_RAXX2sxh%1)tp$5YEF?@l|ca{l|hkMHJHOigLSy5 zu^Oj2547?SUTCD6F%e$@v_yi2s706J0chnx4jAFYXyve;>YIcpytD95M^P=q+85@F zc+Eq9Jq^nf>GFA_eodGqUk9qyYq;y-r20h;;7~9hVlD7+Ir*yIJ`SC%p$EE8Q|#2a=1VR+#KSVk%IDMQcy|-rFdcqyAHtA z>m%->pHueSPO{SGKa-Vy-mh%3QnJ^>17r#7EaMs3WwB>uE#)>KIcB9}mft2^xdmQx zhn|l`Q+t~ahL1@Q)EDV5-Vv)|KjIku%5aQh@Y(tg=t$a8q2xt)UZ*Y->J?)A% z{$fK>9j;Tpp->}(aAQIR;vM^BrOD{-Q<$3C6RxI$1KkC^D7Q6&OF`mat%_JnEL!u%(f_Ye@>_tI> zub1AtD7cX;K7avs0G0>J&)B*$-zGV!A8{eQ)MdN5iQsnM?dc5_GCCU`sj!80k4e@baNMUB-I~1x&7r5KG4UW z+#YOi0R)oUF&NiU9$|nSk#|fFc0hn&-gm;;8X6#Be4rB|;tDu(a%%5_Ov4lx*n$s# zaPP`a+4E_9pcrn?`wn)sKmmE*Il)ZCzyw~$8|AV=iw(}VL6An4sEoG`Be5{8Hch={no z`y?WwEC14XPjOgr5J)Zfy?a;pls$ip4-~^9y!#vr6xzFAf*3$PkTBQOp zZa$ENM07}0WFn9c4D#Cfz)EYdH6K`ogN=M(RH6hwVz49mz#1IvxcNYGu+M+6(SaWj zG1wcd!A3rSI|~k*t@oenI~z9tGxx*irTTNfrP7PpBiS2zQnMKw=N8I9*}^GriWf4f zHOMV8WfAY+bNZ6xyOsUQ1i_$!klt=##h626FN?+IB8op5~;xyLm%C z`ItOX4K5`=kdLX0@S;xnEU(FVR;TA?%h&Y-K&un`obqkX%X^!v2E5NJbl#^tJoyo? z(D{g0==_E9@Z?`~9$u>au`^z$k^FH4=28q-Rb)ut!YlCG=e*CIs;lcsj#PC^_PJBd zX`egQTvg=^RZOd@oLrh&!HpAFQVk zSMYvplJLbMd~0oluer6^h}j$7u`O$eOn&qLE~*6i2jqdhef8jXon$PW4o`3^U|Xly zz7DnFg4@svVCq-GVO+g_BGS=fMjll`|A>(fStCDzwEqnJRC~|{$P{siL9zhWGB}*VQO{vuou~Ht zqyGL-`LXUZRKcHhpQhBOPidbK+-F4eKKlBjx9Zc3mWTN?jp;N!OHPwMR{C_GvGNw~ z(~9~)DJr-!-cHjA@&?^!f;`84T2P-MC4EvS%R{=)WO)boNuxd;^+&v&np4;5E>mTY zyVRjBtxLM3(h{SZ3p&7p4M*d})k;;bd@@+zaO4cI4mB{`hNGqv=$=)5v8v&&;t)>Q z{zE?CFf!ow)mq_jxIlY9S|l9i7Kd>u9Q1t;2l2cQ0SwHy9L6{}=s(Q|ADmF$!G6@! zw;Ar%cnBUre&R5?;#HohP*mYN{p2DfN_^JfH*!i0Iqv4$-{AVr-)D-#0 zocVtj1YQ=bQm;8+eETV%LvI2zy!vc08L!(G*}&Y4%I zv*4Xj(bXur#f{B(Y%R51`YXsePO6xhWWYS-6p)Rx_sHfmu>ieHUhgv-~(51 zln9P8@~<@VzY;qKx^|utJ5L#*2aSTUqTqn5;3rY=lTmcDQM}36Gh6;SxXacP|>f&bXFc-!j0*1YE{A-a5R$+FH`TqwRQB$#uKi zjziWqqek0M>$(aCl8=Lqs3Oi9xp_@M8rK{0Q^UN%@GUfgU5%apGzwlfik2J2Eo%)B z4)5PZpoiG$5Cw~%1~9&y$$9_xUk<*OwTArIFsB>7`9`pdvGX5B!K+5mQlq$et%2}b zz7v5gk^i$OSO7|>7!;1Y12j%M!;Kmtj}M`KwGN?6I7>bW&NKXyE1&I<;cbOq!vtyY zl?(^0LU-8}RZYX~bkuj|=~Gq{bwy7@USD6JC24%|QhB}k6P%zed>;TPp?)^wu?8xt zZq7Wp+cC*-K%rdgxD$?#(Rz<1tp*+eL<$$EDY#MjWeG_2NrZFFMUE<{@+|rfOAt|w z!;db|{VxvrnE~q)9aYfgl=iWLxAlcoMlFy|d7GhD0>*?F7S+OI!Xm}XwbR^ip}cuV za5tQFWkt`C8~z-14fm*$yWVEF)z^{NhsOrx&Pp6o4&<%;+=C6 zyGwJ6;T?`c<&=BmDZJ6TX&L&3r;Wj;UK3rgsY#Qu_^C-N9rI}2Y9@Y4@2FW$!){sl zsX=c|eJ&o@L;r2ac5V5G$Q$5AA?LA?4D8Zy_$J+DxIDmJnh-hYtv~8>j@qcZjFS7f zi;d1;my0jW(_JntVLZ*~EdBI1kW{3Nw*(jlQl1L#aX9Anvkp~ADt^bL0tt@s=p?YZ zukw+T`p8T;@`J;;1fEcRrH`aWr38OxO7NNPlLp@^LnP$q+~-Z`<9xJ5BccucgxOqp z>j_`F@OKx1Oc89C8r%zLm2H~>dL?GdcfAqFH}dBip|0}fAVk%MkBBi6?QEu}RHe7I znV!Zas=lkuG(fR#Ha&Ke0YcImWdY?n%v7n&lH+#M1ImK?>)>sPi2=sM$HBzln2~W= zY<|I{2m}2(3+N}HOME~-`u`N@2;rJ( z9k8jNHV7Z4dJ|%Jb(_dTi0q5gtpNaJPY7P)a4e2xYtdgvK4q?V7-PVc`u>biey9OJ z8N7P!Z-ZA4M$xaKoG$Mcs)O*}UA?9d@@})GVO}LtgU8^-OoG?AgN@?m;I(jM4jicn z)(xF`DJ6ul)Z?vQ#@8$BnKmwQ^}wADlZR4cr+Nvs)}`JM>W%3^;HzUQwsnT1S-5PN zARBDETG(U*fKn<0DV7X)uW;4JcPR9wCe5*iA*vkw$CuK0_fB`g;FxRStsjSXycOOt zc=+rH;1P)ncCAC?2<(+6DfdGb=8r(1_%MGxoU%gYzPw!J4z6Sjx(s`~MABv0Nv}M* zoM(84Ak1r|TJINN-rlU~a7?cl=HOJg);LiWrv^{J^NfS1U&B!CqBSs9s3;$*PDiSX z=)1mJzgSQbZhf`&y7$n_t-CD;4cvQeYVZcQw_LarP{4XX=}2DK5mI61dK%84HJl;n z63=k58;3O={{QO6p?a$_jr_F*=&zlGm$IUw8=h4z09VEYAW+Uo0Cq1QfU^v5L-N;l zlfPCob)|NIQl$w>5 z1xPf_+?{kQ3DG;oU~G(Sj9ZKgMJ{pg#Bqz0I8I!XIB|*N8vFm=o7vqPNp~j_JN7Ss zf1keH+o##t*`3$swTWhmbQFqYN1;F?*Py^0pKnAwWH-%IXh!h(BMp{x1n%gvtDP?p zg%09$MBL9Gz8T*!6W~N%xB7gG%7>E0TI*ep9YZlbO&rybQ3y#WK0$I3k+dt8 z3r`6j$FE7cfe2|togTgoLGhFW6HzO>%UWX@EWUQ(4gyz=Kwt>`jRo?!csSfNQufPc zE)F*^WPc48jw+KY`vd9xj7jl?{=fMQy}X&)9Md^`R# zCK4};io|F~izm1-Ft;QY508$;L3F6p@!|d};^7OEd<~L)^%5O}8KNH1X{~Csi7Fbo z{2aSeuevxv;086tVFEWu9YUuTsq^X7s@`xqHEhtBPOTdcoDseQ-?lk^95mNqxe;xH ztOQu5Og!f6j&>HB$ZNn^ zyi`4?+Yj|1dYxvfL}0h!BA;t(k8f>> z8U%CqQmngjy=5!_>IqR+6XNIfO@96hpKpHo_<1DvhT@Y*Gw7yehc3Elk)L0p`FU$g z{x&6ikAqXlCD;l2Z}9U7zHRdJ+aR$s;i=_fpUKbP^oLJsWNhs!$pj%}bRf)+$INu3 zTND&*VDNlTZ!vlPN{>54^87LUj4NV$r@;4bK11>RQ4Tu~<%I8zhpmgFa`TOGnK>=F zN;oYrTrb)xYy$*G5^JhaQ|usyRk?l(x~$Sng=SvZwl)8^gLs7zwuAUcBW!J@j&$Zr zzO(cEx_GD6nSA`DJR4ZgonrA&?xmY}O}Dv7_0rhw<-(qexR;(Abql|0(bR2GrO!fc z(T5ZkdQPc6stjsH6jWoVgEJ_WgdM)m=bIUugq#S7(j;_`CZYNGOeo%iL=|BgWG+{H zJ+9-kb(q5^PL#xj2)tKENo3%?38xCRI|9k?k5=G@MuGRO;H*Zu%dFflsyDYF@P6*H z&~yl$w8E7y2+u~l!2S45Cn7y$YXX(c!Ve&5HiDur4N62QM59od;A&h3~d^QRKesD;#-&FG&ZzP z)MoU`%CySjgp>sjRC6s@9Ovj*aRcam(UvWgzt!~$4Fdfjco0HgL3nmjN6VMD(aJ~8 zdp(VRw8(YHqD)r$qrZS+mwh340773tcxF;3e1Y{=eie&&$aHb*dOBx_I~*bQKjcWJ&$tHUVH;>DnL*hEIVRdd)sX%71@&DYA{uqyhkv&hv= z%3`s9&@2{tP}%J9!k%jN+0zZ8D}%=>hjJg0Usf-~U7M8Pu4jF|#Xm52J**k&ASc}H z!SZs~Jyu>L&0Y6|7DDI|E8OLRa6Y=!iV-D@FD(6*oSmm730M~ychSQpJ5>55y;vDIfQ(LnN zI;)*{jqX~|PO|mjs*YSk` zu6r$}duI0%Sd{|%=*#AcS$)Oxd^v#C$XbIPd5LOd-|!>YexL&>Q-Y#@f^EI;Xr1wC zd|pCv2W{(Z>kt1DC*umF6vx)9mhlvy9$leB4fc+N?9T2&${&6ddm-0{V>?w4N_KT1 z;{NbsX!4Ec$2DAK5`Ed4(#)k3xNxLQFCtMUyKsX7Wn$Uz0NQlQq)fCyd5TOeSCM%D zLMf2D2J&8m{9#GB+OTI@1^=+b1N3T_iA^zQqJrrL{OP=#BHH^PbP?pPg1lECe@Idn ze76}^!6#bHIjJq)ryMosEY58C)SSoT5&I8n@g|B|qDgzMBJK1BsN|5ySkau5`jE8$ zLKHSnk@k{y;vKqcbvrqYz;ipUq05Yp;%z#ocM*T&PP@qQiQG$f@sK8M72sxJ&@>yz zJ<^`nYc1Wgw3qlZb(!8bo4e>M-sek2+RaLl_R{i^_9vRO-)7RTo)UgSleDn48sQH= zsp+$mD|ws7GleIk=6OQHrQx^!qt&gm{3xtm9y zA3|s*qVqR+oTXa?l|4#Jb6paRinekH5$1ua)k zib9mDPsJm(%;<78H?CYIAzDJNVy;}YB}E|wrxS8luBpne*X&JKDfN4kx?ZP|!zodU zv3n>jwzlp_vC_7XNC>)z{NbnZBamGhZBuMQ>{AZ2G^PlCO<_=InTQDZ@Q0tlzDTb` zwAFegK}fH3AZ)9)6I3l&@0~*24xcvO=fnHy6o}rLym}3u=IpJsH zVbQ{8)f+^U|~{2#e=e(!QBwj7n=()o`ZIq|!vx9B!p z?B}<}&ciMVgvc{_4MPWXj*IK3b$PNNDM2dBx$UVp{% zAjqMjO>0N+K#tm2Qa&CS8LFO8e1+EJ`=*3n#FwO~4NN6ctWT-(@xnGFW@dO%pZ@SU zJ&_&Vi6jV3qyyoYiwW_Vo*9wp#n~b1aR*aYIUgX(!X-urid_|m0+f2ciZ{1t-SxXZ zStIF!;s)YO?ugQpJ2Lv@<^zW7A%QMS_Wi=D`)x%a+ zGucD021~{EWVB@EG_$36hq_qUW(g7eiZ6LQma~n#6Jj}F{~|J$}dKCrOUZv=h12L1TF$0 z_Dv9H_>qXH(jro!8t=|@`FeIA{(oS$xQDJ+r}yXU zymZywj0{!}7A|XzZgbqrt9nwhFI7Ag!R0FghNi;2k>N*%ss_Gc$-X%goEA}V=b8je zY~w^8ECR+3$3Rt5kI#Of>E$|q_+^{{(iAY3kTr$g<X;$e79( zu|V$P_Je!aM!>tfaNe%gvFJ|znPkcGDNqp7umn~#D$|i;yqV<5f^SQ zATV`O_m6oZUO%#t3vX(`k=%8AWIG+*h5TC(%7DBguv10)%Q4g8*Vd*_uxgJnd1Gb!pC=FH%zu6Il(LErw1tpY2zE=ze+&vUq39Oa z5`?W!!}dC`V?OMB0d|i~8jq9rD{Iq7+Jf;(4s%5Dxnsfj3W>9P7L3=Blw+DJ=SLMV z=q8OLUoI{!Ur0xeq7biyU>|yqWWRWsC5T_Vt0jnGbl^6%MK1eBBEv)bhhLBD8bOBZ zMDDNksmT3*5br#F0S9ZSIQ`@*9HieI0_)Ln@f-X^ta><(3lR#xfw0)RhvOHfynZx_ z)-K!edVVqcMu10Zq~ldSWd*8K46L*QEB)c$;^0h=0YQjiJ01hpQQ|lZN`~8`EyXh% za@c;z;(jK_({&89XTa=-V)6rep2p#v6Hdg|j2@;9UoJAD}oh$en8-YunpUX_j?B)tp zQ`ok0;V5j4B(Bf+@sl?=lUJtJ_Psw|i3?2P`c$nK_A~MP0l&Hk%0Grre}WZwSpTR8SXh=PuBt8e&^=%R{U<-xI?-RT1??ctL%8N2uV8!`Rj14!&m z76LDX&L94hMm@(OrXYlR4upi!^qE33C%klCOdNm`dT%d-qY@`;Hp(YGXf* zteo)M@lfFhHFXh>Os?6IxoJ&Kxvy5Ad0lFKb}A+{Yfk_3H|t59uTe|qg^}~6gx}Ga z;D)|4Gh7rK6`YW=(oy!eY9GQxL=GrEj!X{Y8<-gmVsyDrGeeBK|J(}PR?ghg%4}5q zmW-;XEE=ZOcQx8L@#X$7K?rReh(?<*vyO4G(WZhgS_phYW4VNUM=uBJ8_NVNrQA#`4SwF(Bks3I8GT#8z>;8m-v3m~N^m_KEkX%`9=SJpq=BgJL%t z)O?M^VTUM~CH=W1OA=3q|ALu6<>E;)Nt@cYBr50L|51rClBcPns+k2O!iz2A{b zHNZAcYRFcGU;>7r#HkFTh~QYf3nOF2NBXWm@Li1%@|K1?!jS$5iLB(2P~5JO$~)?A z1x8rGQC4W8mD|e7{hO8dxD|fTvhNb%Fr^-)BLho|QLalAQ{03&N#-N8OQyJXNh%tu z!_(zO#42TFKH|ylaOHahB|7t|hj6!IVUhyRMhqNR?*R~00Z z(*{KNL!U1$i*05ohj+Ow6D>3m7O5jH+;s6Cbm3-Es5UO#R3_1IrdhJtPhA&oTD%6k za4bL+VHv_mNZpTF`2!c;8Xm15{OA$=cm{0K@`P(O-H+M+c^4k-eNBtn=Wctma><`u zxY@rq9GxpnpCv*hKpUk%(sm2Uqteyi{B zJ>$1h={|+f-y!cEurnb4FHkrGiYmb7!?1NAYiC5XcnIXq%!=@w?MR^RHs965($5$*f z>vU%&CR9h(kzJXE?bDAifW^WVmcp}AP2+^9=$%d`PH`IP!`yQm6tZ6Tf z@?~dr*;!pK@7{%bm)*s2`uB{!${{y^^&ue!D6KPdh#tfcHHal6SPR`aLiMt66nn&}1C zbnz?o_UUpWH(Vedqw|^tvOk^IW{8KmK_Ej8Bf$Kn;!Zj*TPmCId4+g{&RHwu#r*kJ zvD-0ym3W#iXJ)ZqaekIkeACw{x8ss^vIhTqqx$zo_3xP?(1JS46nWj~JWmv~qNlGx zFYX@o4a7FCkY5XH)_p`xR)}33#j#Qx=*H@4P#h3<(0?|HLjxGHSsW6NQ8)4naRWDA zCXRLHe+h9++(M04isR1h$JOnqF)Mv{ySPJ~qBiN`Bo~HQDjpcYcOMWBh+_KBQgN2C zBS)MSx2f(PRyPN+IR8Ba$rO)`=9>N4d-yF|VT0yJel}QOc`x)AbnrO%nge06jsgpI2Sb;|e zu(LF_?K8pG+jEwR7fqMxCt58<4OY8M2|{YA10fumK67KJa`;o{g{CL_Mu?kZzEMff z={{HgK)o)+JNy>*MJ zM>TMtYqme*!lQi$Q;&bgZEueAoC`Pm_r_!D{q5cMX8*HXy*yfbbDi+8+mE?UxXgu{ zdX%>gG1m!?y6w&HJi#3gt`jiV%qb1`288|uc}u|F0tIcM@F^(Df-NUtTNt)K4?7#c zt_;{S3ijRy`!9!U$G~+x;c#8JehVD=25y`VM?ZmM>)@6|xb=FtttXr~4R`d0yC%Wi z&%nugaNiYh|7&n+0i5XpXCH?L--m~MgOB22Xg(f>KaeVJw0z-Ltj+(hPXEqAa2GsW zQpYO6sxAwp{LHG*l=6u?wdWiB@iVJZOOc;hmHH0<*I1QW^SutCw;(SA>>?;=4TVoY z(Q4Ro9Jb}c_Ge*dJ=nDn_KbwRCt?3sxONm=*BuVmhU<&q$X9UV)o}D9IF=2!RD@d( z!EN2)!~<|gPq=F$-2D`stONIrhx=cFQ}f_VH#qw!JoqlLsvC$^g^5+&mnx1TtNOLI z`4j8(8^o$Q5vxkoi^dn6MdPo^xoFG@|0CX-@dwT4A)Te-~)SOeopJ|m@pwWtT=5gVF;?gsoq1xw!#jMd`F>IMW?MD_DtDxn* z$$pNNX$FCHmM92+j!%zWCa03`d#PV(R#B)_%2XT~9^+QDgaF19e1StGn=vX0S~({O zDd!G^zAid-ZIzr5+dEe>Oa_Z9>o6HqIU`hZRQ$DShN9k0fCw(ASP%WR(waiGHm?%G znaU^&8Z(rp+|OcC4bH1rAD@+Dp>gC(eB+pL0?VU@eThKaxUXTQO;_9unE#yed`igzUxccU5>SZ!{Y6)3QR_gbNRD|h*5 zUirpL$rrD%qvvT_^lDd5b#~%Zq5|!Xv&K)(N2WB4ozav=5TY~(qA4w?xAcfjY88C# z3@^>^T#`bqJ%ZGpa^dDGtDXzTy3G;ZkLE7iTorgJ?51eO7u~1cgt!hY z&Fauu7s2X?JJhP#nNAIBjw9aCCNeoDCH$Sk8#Zfs&2dkwVzUM(?g;$aS46))O(B_MKp0czh+V8g zO<(A|VwBN0H!x+m%SX`~7Qxqhy6{L9Dp0_>(_9h!VIHEEIX1mehS=}0pM&_WpOBB`!&g zFHKTcL?@|35L~B7YNxoVl6?XCC2FpqIq}yNeJ{<0YJG!N?un!c z?qF&>b{eAtoODEk*ein{HqX9}FB5fiDtEgw*@rGPGb6gerQ+8qM2c!|H|eBaOcQqQ zT7_xC4`eyFMPWB?rB^>85_7U{?(7hRX2*f(+1Y{_zRp8dC*xA>o;VMQDAgKq-wg4a za^8n?fe0U4re#GZ!2GxbIJz_el9-FKO4|XrRz*5nSA8SVp$Jx&kZ7aRZ$mBdFt4X- z;Zj1ar%IVDR@YIHe;eyauFffBeenc$lV4wsr*11Z<6OykmaZ&Xi_EMtSf)oD^5@i-Xz(J0|LAG`fjG`rZH%te@2sT@UR2i=^3t|qxqzCX9F8!Oe z5URRx)1&d63pYI!FS>BkLop*#YxAleVkFa4piQwJt=P))6?E1$ysi+Nf7+v0!W`pN zCPQ8x*pF0fjic|V*A{mQh*xYh)R0_p3hd4@S-1@RiLAicr6h2Yp zm$i~?T-S=C8ajinhNLp86tiI%LI~qFq>6Lu{#40D!bEPpZu<77YTuLkO=WE&yOxm! zl2h!e_|7a^QEm1_>xy!TR@qvU-Q^@&&mPmFwO=_!>(i!aMef7Q8{M{Av=W4vw*%44 zdo#z`Pl_#CEBMT9+um|X0!bx84Sm~%o20TLl2qI{ds^maS8R-xHNUht+TxZBI`zcIBuCO4bt9B*+tlGhEGaOeTcIqfr5?(zE+5KP z)+k$pQT9(7WqXzrWgj+C7Ri%Q7S}QwWeGwk>p&P~XN&E;a+(@j8i3DSIXx1Inh_|A zbw0e@P0#pTsUn7%hqfr=^DGf?zF8E(`ENc;;a`P{STZbBq*?7ght*zNPF9OJi}B>K zwV`#v#B&Cn~ zcOP9OrGJY`Jd9yW>8@JC#9yh;e3O_;yK&r6f6Zy%$YvRQPMpRI_Ky&ws%-uis+jTUBVAT!Hp$S41 z;y~#2r_Wp`pSA0Hk1a^{4L#53JrqXTkAR9q1h@X*kJ2;!EMC-_86}1Was7SFs5o%p zX6T3)4Q484Ui4cuI4%i$xxrWGAT$l~Hh^6l^6!JfbSOFiTUNo=Gq61wc1(qx@4)VJ zu(v(z`vn{rk~A4>aXe~m`lD3}A4bX8m3&IB<$lHoG&7@j^CyE3thoeU;I%I9V^9n7 zPeS2bDB1^GR>Ia(ussQOOop9*g558`-nOvsE;ukKX$s=QBi5!rC{0IJ)0&Ps8(sEW?2xOxtX=aQZbwAn|~a~466ee5YUI}msG*JlHvuU506!~|1Xu4gIM zQtZ@Htd>d*XwR2?M;q}fw`n6NpoEs9rF8mQ?ZtL((_Y-J+ZZVZ^r$MG)UN8C1bRrg z8zYC6n{-u8y2fbIhYL+Nj;yGkV%OK=#EqB{xpsqcgv_uZiMA(kJuE5%vlK)=>w~d4 z>fl}+JDiz^#-<4GJZnP5X{gj}*JbycW3z-)FX{bD+FSC^R^W^k+-HThGzz_ItFQ@1Bbe~&CE9CqZNsvw z-T2F~%}CR-w;5?}6b5+*LOXnrcO2|RVE@a?A5k&?gq457Z#Tj(VZ`<@goL*f+oP;( zm&Y>&G%~F0Uddn6Bjv%(IBc}0>GhTwY0%M?T!y3z;M&hypLtfcX;dsfF9E{asMb90 z#hyP{8``dlTkrQregVZgr&6)}Jb>^PDp-s=tLG0S>qBFlrI?EQ4;y_%dS%OnOZ=BuK=bIDTUf>jn0wVS*4vIS{1|=diuvlGt=rvI5FQE*8dHaMqHB~kDv^u=jT2)6Jp^u-|KwUNvM-sVpV_oo}F>WP_ z_)t>j(mkooREeu*;(%^q6po-KRa&ZzQCqs3;FJ=%wL5SHhsGTya-S+{uFAzMWE%`{ z%t>s5YlUBtt;QHW$R@aDc5AFVQ7)1~N@bGbGM8}nW0aqN(M0wNjvk8JAf$99gc4N_ zE>iJs82d2Q3ih)?7cB_ihJ%Xj*1_u8Y{8Sr$hkg&SJfb@ux#oIMTfS$x&^^r5PHW? zi*J@wxHQpJMG&GY2SUsVV^DKd>H5oJ(^Z8McEBSpUExYAVrALag_|p?S}xpNQK7Qv ztxzK(<`6~Wz>#jf()I5_C=YT!gYZ_!@1{1Cm?*Y7=uxJb>nHn0iaVeJ5`x@MA-oy# zyUVS18pg0VZACwd1z2K}uoIdTAr&#E zB6m#q7J%4o(_(p0dj8EY3p|HcrT~+u>i7`=G|B8FmLWmd5tqJ6cw$MV7cv$3iY) zk+2O#!ks$cc_u;F#`>BnF`*_WCR|j%9RX|CA4aDOn_Wt$n$51^ zmTgtbwnK=)HtOKa1XDz3d^J{*LYg90+Fi<9WQtM%c-=u2K2-|9FEu0&S0c1BFUIwI z06p-R(Mp6o@NoJLB$LS80W1xw^8zsN#cC9oU=NhC?$dLNSE6e>+X4!nV7YqaswaqIZ}X9zl(st)#00W8M%0py-02Yv1s+?<|9I7!$Jazr81|I!c@`C`4k_aOIyicN8dqcr&*bIAAB z@{@0mc;x%T7yO%6hbyIQY`}H@)-~ahersBE;CPsD3+1d^*;w$IP9je0pixrJEvYoFdK z?bBPOeR|p2r? zL_J5taeWn`|MYg@rp*-%zaGc!>u}tl1))ulcLMB@kpCVO?uMdgV9Qb1`d8R~G3+RS zU74`^YuLLM_Sb;}55d8!lcpo%`-fGOVwFObNph-#%TYMBX^Q$8RV?;4{NzzZNxttO zRKU)L5s?256z+tgr(nwsu=UTdy$|fLVb==S{Uz+pg8iv*pcoELNy2QK+)u2ci#EDmm=pEOc%=1#4Vs*ISBW0XYPHb%*)xs#OSo2n(>R4w^tD9JZNOTO7!^3B$g zFI`K%bS?Q7YRR`yOTHyq@-5MlFO#F&*JrihFR>|0-0DTQv^Sz#QtSbaB;2MK0VD}; zb|m2~$-b=fkc61pOpAg*ZeVhmNQ62N!kOu_ z#ZC@{a0h&AvTvHW?Y#Kor!LF>|67#a;(iCCwv6=Lh^8owW|qC$?Z*_E6I{3{GDo;@ zT%@>xF~J@XdI<8~0((6a)PusOq3Ao<@;Yp54BMB&j$+vL2<*88_Wl9(Uk}$#qQIEE z)>hF76&MqV4|C+CpYZ_~-e0)i*_hu5xT#wGWblFIVz3*8iXrb!u-8IC9VmPfiv9&# zUWIK9Vf$j(aRzoh1bc?V-rvLiLvZax3XI8XX%!9ALecLC#Tw-miq{9IjzTMJUK=ek zhg^$r74m#`!2()aeLsa9%E>B+GL3U62jPg9#TxO3=*B9He~V+Rq6p;@yE7t9izq2v z2O*e6@+U#;z#K~afllxuI-?W(da_0}i!}GA*n@HGY>jeqD971Duw-Oxd%t6!jj;E7 zUT_R>Auo8Y4sg+a?|(pW4Enu?;^Te(Y?SM@3eDPOVk0I-l!c8U#>R;X z8|R7KALdyK8v~4u6SPV3TF0b#2;aP19sy~O!Vk3qn@1H3m?0W@LbwAB`EQHRsTZW=0)0H(uR<&5c(z;fTt4O+-;5H)^go&}c3(qq1z< z;fz))`6<1X_>_?0>b9yZ(HzVXpzG8QqJY;`9mFx+N2#ceY8Na2!^P~W@DEXiDTa(7 z%4;*+nP)c1jls{#l!t=I3)zTMnZ)7$kva74b{6cP@QPDJIv$kAqU?~3&Q_qO6-=^% z@0KrQ!`PKf++XJA6J{J^tdI?fAsa9H$;!%7!l{L#AS5LmhnH!RiX;6ALK`8^4`JM7BnJvRqMW=8Xa7emFXOO?$CFG;u4El#BMqxi};F|P_-_K{JSvuSMIH{?tAwp^6%N-nM@}Cu@3nk z(ByxOJr1o9flHlMQKlU62G=&F=|3{R9*R$5n@IZi_9R4VZ*2wM9nTRWbCABGn<|`5 zHg#x71gQ&7!#6#Kelk9>j74dvZ5RY08S6mkTcM1-PK8~i#}=|BY5A;6Q)V*0Cwxs> z#u6x6D4R69)P6TS@} zA20mNkmI;>l(QX_DZ9ORFh%rEfPfcti4r{U4?k&HEWsPN)K3tS;0}a7;q;l=9Ii7s zo*XyRp)Yi45N$RQay-F>N3-!D&3fTF6CijOmkAgdw@kqI{Cq`WmqYN59D4$Om&N#9 zqAJw0qteI9xa5KAQc3bar6!uuVjcuJgsgh~jx;;<>W`vR^=7=MWX-k%=&Ev;UUW+7 zGK$1lz3vVUvlzPq--WeUC*fKI?1|;Ay=fGMQ9`TqZj!&!n0_N-y4q|PH{@m9r|KI} zjGG9{43z;Cc#WvxY$IaQSbMXzC4X-Pj#;Oq%%G+j>&g;=-E= ze7ppFliXbIBqw7AX?+s*N)`?$$6G-N^Bssviy0jc=NlMlF=%)zYf&kyxo~rv0DPEk zZwAZMbm0b#$Rm-9Q!g!M6w(Of_J+J;6m|<`gPESlDOh#04+Yp!B29_o_3JvybghV>kYH;*#YK=KWK@Cz33Yv_=8;H0< zm4A61*x#Olq5GFOjmi`i81(E^lw;$Nt<7#G zZX)zei43ar+tcyYNYPp2C_1!^nNdDP=Mx=4`8G3hEY*!=-&B;P%i6^Yn%Q4R=v_R; zjWP~&vI1YLRm^!QI+43&D!$G!ln&1N?HTw&#LY3wQm>FFCo+z zayR7I*WmYzssGH0%8)bTGUT468FFufAsdMq3n0iV_C+a79+|atL|-j&jAnUJ9WLRq zvX1x@T`sGiNvtWWzW6ZFp6T;tH_}$cMv@``%8W={*i@XQn^rWHT&B2kJGE+P$EEm| zb?Q)wd+NzO*XpTuI?m|VhVEJ4Ph3YNS9_qtx_E6d3%?)fTqvDbU~pl+@+FGML>;kk z5s}>4zaz;-8V+zJ!Schx)V9Dtl|>TIX(Uu(zIP(CNN}m(tR@`7^0G+ew|;xJCbH%( zkr9N5%z-F#U!3%jk|qMr0%n>BD!SBVW@dRVUsGlBR4mgJfE+-pSf;7LQ?X2!vX^Os zRBD*}hCtph2%mubwoq_Dnfu25+vdKX=*udyM|0mG$QuIT<%GY$g4Kvk!=0l~%y;Yb0Z$^^|%lg|nX6tx4OczL03o#Tey=IwHBD9H|=_ zQk45?!6hDQwP(LX!}ga~;yb%>>CGD5)K-)W`!Kz)?IW%wdT-h(L8({+bW7Q9rX=khGk}KI&v~B4`@2-i6c%ZepuHjY+lYf zg`bg4!4ZXi;sA`p-CZ0e2;r~;(Kx)7mq3$aqcHgD8HR(#F6tqQaR=ALt6CkS1Dx3T zIJlVZne6BjTM&0*(N|V-V#gX2YiMk{Ajqqdq#Dg>!u>URRqedN>PTRwgf$+P`-2EH||@$0z=P7qq-I}rMQ)2~^h)VzVQ z*Z38Drfq4Si{OUlBmNNy_ZCqRa10iTfPe0`H+BmYAG>gqcl%tpX?gS1MMKTQScQ)u z_hQH^fbcoUZ?Dw65n_kKm7>i3|FM@jXgJT9;4R+`t4!Q3;~8N6l=1e*|^R;$5_#A>O^hm9f+d)bsS|i zG&b3TN%rC!m;7+`6=6F`cH#IzyqLef{ESgK&WA3O+WzflD6H?T(0sRp=KIQx=1cLr z#6$5?kL4D4#uG);9nzfp7Wr50Vl}KyLBCV!r@>_;O zCp`)mV>)nYxz9H%wi@L~v`A}%l3%4E=SySBWD<}ux{4vJHi`MNzwz7I_$I`DI=JkI zAjEzg2u&&0t;(03?X^DN_;~!MnXxW>!5zI>XYptx+*6MObzN7Q84QU&PyH24Q%GkQ zZu%+?yZx9uJ$~o5H~AZqvF_ijWb6fcMT46=M$U2jK|a~S3APMYhg=Lk3_*S?D7Y6k zoq;VaVe7-NeLn20mNWpUEui2Y*mMfEG>5GZ!uE97d12B({KPj~n?`GQ>YI-4^hd<=@+=Y1Ah8a~BBm5s z5mkzaU|caWytEj(#1JFIP^;BeKKv4QT@pXigWZK`}fPSOVPNOn$ zDY{QzIq&1~xbN3_?$}v6F2~(_%++g3t8R?{%31Vh;Q1 zGpxY@bPdcAGR|j;)e$-B7i!Gf>0s8L@?+LUe8nFzql_?Xb*fTF@>0dG6T{D-Vj>!@ zq)*+jq4E~YYubY@*ECg0_MdHF!uoX+cp zh*wy>3J#G|sr`)MoO_-=Ts%#eGe@RTv-u;%^K?!ht#Z$ojFvU{-(%Ik$BO6qasqCy zKm(h?pQP3l@ecxLPVY*mRdclJG)LS;oe42d=}ueci6;mkzgWZ#S1j$!V+t%)C0bUk z)HkkFI@f|VtUYC~5g$>%=^NM>xKzjyN!0BDAw@Cuw^Zcvo)kGESKLN`l_I}4HwlV- zaSuTn7W>32)MTbO)Pl}S z#SL6ZCr8{Mj&hp&iR!o=N^RNFN%}<&6@-)+2NF1A2fV@jE!j8nJd43x z?+SMGxkMNOJa?|CfV6PioAA>v59%Cg7nEJx_NKyu#(Axn^f1~Fa^YtCr``Ustd*x& zNp#%ne(FWS#V0Nt7hzueh>YcEaKnBnF{4!XZ!Rc3cXWry{w2mt==SC~J*SfCHs9g4 zH{gLp_kB%;5w%y{zo{^K?(}HmG3N_2rF3kU`JF#>`!^LyFG$8z7(GQb8r)PQ$GiQb zth&-sBm?N#{yXHY1^WOL^n}8fp(q4f9)N8-VEb=iXB*g+1$!pJ-e1E0nQ-k|xGo(I zKLJN3!woOP(G_qk9d0RxusajoGTdNNunVwunhRkHAyo8Rc3_*cNpl z@h~e8u!2{ra>X+dxzeImZo*>quaFf{r9GNvJwMrHS?%?r+6h8xuLDuxNO5b;w~NG6 z`Hri4m_9Fbr0#JJ%|Kk~2@ z?R0|Bt&rCR!tdwUh4F~z2aUNW4DZy~!0=5tAZFt`Bb~hKVzY54{HSzJU}TBzgyMaE zB38ygba`ld4M8R&209RCm~+J*=3>_@azyqY-m1|B7rPo=2to|YfiSwv6h&;_yE3+~0etlhzI7%NEtGvQUJP1{4p0_u!@^loz)pm6@9n{mx@=UQ6oExJ|pLi`HyBe9-{e&S*;pm3aQ$`S)G6&Kpvil2? zF^u${INhftW+zhbCGVUmepAjnadLLxFk%J>u8lr9g>fh6veJ_?&X^oB(alcfMAoc^ zsy3u-Do(J4PqtLst>&~H#%f5o;}|~Yc3nibW%uN|@vHk@OjoN0^yQm!2Z;OWdi9Wt z`8sciI7QbRM-1WXJtM?Z+>0DFg5Yb%^6m`T6F6aZ{iMMJoIjOau8U@}n|9qyaU(&O z&+SR4jQK0+G%uq)o#rg#^po^Vu7y1>OO@43TQBy|Q&z2)73jQ1h<<2-STDr#0)+|B056mhqXfw^}mf0}%8YAioxpExD{z@U&Q zzLY^bMX@qwE)tI*!H~7|5oMmv5RZ2uzMp&zToYpTw8mUv^m?&S^fFa9OP@5NvFSHAeY zT&-bmxv;n7YU(0Kye)$K&#-t~ChK4Ci9-IhMZ72L@vmI*XK^e4DiVK|T-h{Rd?>DC zkQ5)v#x(ZT;-j_H>qhaB_>z9i7oUoo>BlnhsjQ&k$REziYh~DOLbCrt^(8*zfR)XOtOJETpt@-vVp9sml&lgyU&n~SJHjyva$FL zb#%3Cwu}ICWHa=W;ExO>b*>?wi9bFk$XeM(oK~MpwvoIZnJ?Sx&n(-^I@D;P>?CfZ zA1h=h*@$|cExRf-l3f)VrO6)R2sK$Od&rBZ$#U6Sf34o?YpszNi^r)+j=WfMwcBht zKs>ExMh=k7bY{uHY1C$c94ua-Zqnqi1*+d+6ne6gI=)2QqCUnYvT?MJu~?2;PWP>n zqr`jkqpG}2Jf&{CO#H5_+o;tddAYcqeyo(2%ck^WoxDPv;XwxF6;iQ>kennQW7sA+ zNls8-WQzVGQ^Yw1n5F^K)F)aeuW>uNMh>DjGvsV$D(P~zc$xq+Wg5T!e3>Smr>CdO z`Qj-3SR&`k8mh@6-DHtsT8pIe)U1#C+6*4Tg6Ch0%a(wDaxlKE3bxYb= zg{xb_sW-40Mh5*Jff8a6PReTNqm02vNvC?T8>zuMs9{YM@*RYR8rl*pkN{d_gld~ zR195$aru6GAC8$EYV}>Mk07M=IS^7Irq9f>YuNj}S*Vok8zgRyGYw`vA`Ff2{6-N* zvE`9)&o33g=W8RH>6iMa+urow{OpHg6q24F&h&@ny5G(8OWokYP1`*h67+nT`3Sf^ zEYmpT^>3!Hu6EnEGW>#DT)3IrcF={J^V`gYo9!`>OpnL(3pQ}!h95B^(A(_iP8Z*r zM~*XqYkrM~=J%}X_8$#DjeevTNFJ@d`Tdc%>Gz5@e)Bt5h}*tg{RD=(?`!6>eChUY z`f<@O8)ux2BfqEc0`s~>!X-um>3&Rqc_$Yh?faPX=;1>&xakk}jPlXOV;VKDb-zzP zWBh29(c|xEz|lgh;nDi;pX>z(S=8w-)Qe^KG%zT=wyt)z1zR}TyGxD{xND$f6x9#Ka*VeNCUpc zg%360^IiA|1MbOXbG~M~?a{C!r?~+OSRG^=gcHHO67v55n=B~07PeeWTdnM91UtWk z-GgAy7A`4&2Ci)b*IfvQYr>IaxZyK6`Z^pt4!0bD;|JhGbGZF_xU(tTwFZ7s04KkN z`xe3d_rs|saC!-xc@K*F!Gj0kA>W`+@G#^OJPdmm4@KZ#+zY9S<{a#>4EIc$ia+hqSNo zF#mHrEcyo?7XJ$3Y&iK1+_wPkzZXt5g3}pr<{c>R3lAPZO=i$Xco;Gq z55wNZ!-yVuxMV*bMv{UyY9t;;e~5?6^6)VBJ3L&z9uMQc#KRQ?yOK1ct4PC};={w# zZFrd06A#m0#ly^-@G!eN9_ElTmi7f6=6{BVMWiAwegh9nNh4c+3J;kV;b9duS@RSg zvZ?!Z)bskk;vt7Rm6>=5R=`6p{Ue-)2b+|;f*bI#X&N3jx52~Krg+#+D&3ARddj(| zs@1j%M_AkET6e!-ove+@*wEkOVbYU$xaNL5q~+sb-q(0o_yrzT9ad3>!B#rPAlMe| zZfI`+l6Mt-RTF%ewxcWBpt&KzS1Tc#eX}|C0kqP^%*Gf99dm27b zBfuaHf?O?SecfJc=iOCT?VPu+aZkS9*;x5ESGMfL*TI%LEuu3!*hFq;aR(V0S9RCd z-PP{BBG`K%->{>%c!nA*QibbQ_ET=XTDpPVwmBQb4b&=2$nI=cw=qlPBte#m-1ZC+m?mWgU4AhYm91Al$2ChS#rx2Bm+A)Be zD@wdi`2{K``_f{sav;(#kfi+rDTo*eXW!8kmyW1S7GoExN$^D&@xAI4xTzUi(p$Ke zbb^p2-GKzV+lRdYCnx(ZJx>$*F?Z>WrqKu!IzB*~0!)+XY1f2en$$1`N4GcQ_>k^3 z+%)M7a^YtCr``Tdli&uo{g0J`Vy>s|bH`(vpgq%{X-f4>uhH6@>$0wH|E5W2miv9o z??2at8>UftkK2#A-g(P~nH|&y-}&uV-R4P28Tz-NZxB zq-nYmJd?iJzqh_a6VqJR!t?=zG9hml*qtH&1t{DIMZbV8MX>ePu)P`VSOL2(huvpk z?@O?MDjawY4o-yY{sM?1EosKu#>P;P;OQFdKA+!gFhEWRi)R(Ri*ovR;97Rh45lO6YV3Ye)`38 zoG$H`X1BZttVS)yQ zE1*`EV&9;(GJ%d^U9qV(h8o2V9M%<^Fj|$1i3I>VgR}oqaTi=(jN&fb8cuE`hJyUX zr(!c+p&=AE@e0WHwgP{}B%^XxY~lj4Do{clC8`aP6`O9*gPUUB^LUx!(^E%G@$89VQ#@k`tXBI>@$7k? z%>JKr)fW`cjU4eDOak0zF86Z?-vs$Rpx{Z^v<^1cs)(g`wgfC`(TAEQu61xHiUj>1 z|5D5u(F=r|)a8B#;Ts{p8x%Yao3deZjf%K4+!mqun0UcSJNQ*O`4|RD-xQCLt&Ymb zsQUAN9L0_-qMf;c&oPHLY;|I}cmtm`6tAy|FlQ1G>`cZ{5$0ChHwkor^n`W$D46h zV%A<+ADuXg;u6QW(qewRA?6K>*#QWyB7xeVHgA5_qV{yUs^5fz_nSAlnyzZJ?Zm*g zV-iW~h)@@n_jS9-M1n8v!J+dxJ+%Dpqb~cX%MJaN<*cYb2HUFJ2Z?7`!x$v5M5*aZ zKtrQSv~16pgrv)didX5JJyedTbLt2Y;(JDj>-9ZG5xOM%797}tacXDVhU3&86seQg zj8$zqmo-hDJ|xk`a-%}bWwTbzx$*)U|El@zSOLkMuSUEvLn$nqGsJ27|LSE*VaZ#j zjD=a5N@1}xwXrZuDJ<7#iPJRJ+9IzTog0h1iC6~Q*G%L)n95qpafcJ(VuZC6@mu>g z{EX$|L}gT=dsQhe@^<_%P>f2Ou_LD15jQe~w6x*^#clAe&wbDxr$hdY`|%^>8x8q_ zA(ildXsaRxC_uI@K)s}17 z)Gb%%Sj)WqIttSKWHMzIiabqc9ub6Cr~{E7*(ZFyIJ>x4@U<|q#GY|kAzE=FSZ7}s zZd!fXxp0$3Vj!wkk4*JzgbO#VKC4`oYFd4;{H_kLGFdaKQ@VfCD)X5OH?2MxpjYO2 zK5*e?Kc4k28r-z{EOh%Z)jrIO*UvT8O3#{Ts+E_z?M)Gda#8nV_W!8+eNe6J@2Zu4 zCtDcR%JERx35xu%r5kK3gdJUBmw-LZVDICw|9ZH#Jsdm@hZe&1R+TB1ui#Z{(*xF# z1(y7nkY}oR)L{rwRL`HW2iZ%hSd0I&*rQbKYEIHNs@mhAumcoTgDqWPTR!aQ47)bM zo+hyOQP_V7u5AkkAAm#i;qZ4=rXu#dY;C&FIxF zYfw`Z6SzU@csjL6T|=i<^(M{;-+?dG9N)h>nK~W6WF<&M@$;CkJ7zHuo4tmfvXqlX z(Uars?tG(5^NeD!s(od&XkdRntLkMW#IjZQ-F~R<=_R@ipGhx{$+I7&*z__(@M&US zMDncr!Rlf1?Bna5FIFbQ0H3@uA-gN3w^qd6<>dR8+O8w^!Xm*ZUd2sgBev^69f~U< zBB5#NN06&=Xbyx1J$;_Ima=Hw5!S~tYvPeOBaFKe;siPc`u0(6~=Pa4Ql-BZnXwCi_tTGzkLn;=L66E*v)J z!Q+xOl@ODXs@?k`0#lI;6wt=&d% z9oI&ZaHYk*k@B3VT6Jc@U#qiBpnli&6x(@8Uf5ICqJA^`w&m+kUvZ2YtQa5!0|EoY z*VJI{kaU7)4iPWW<z|4(MsLpldY3|i{gcL%qVm+6- zxrnXd_G2z$y=)zG5xdwWSaT7(%!Qka*k|4T%|)h{HHOTQtP+_Z-h&{Pq<;hQmO%JJ z$e#=aU&E$zu=zM_J(twO@@>ktHeX?t`lORk`H95`O1j_wzxkxf==mLlUWdF42>%80 zCqcoNu;~TZd<$%SAqk5sZ(3t*9+ZgX_Dg4Eu)NWIy6C)%q$EW8Wc3_JjEUyuoVgjhcgHHTr+$k;;iVQaLflDJSMQ zc4D@f;K&q~`42e^2utZG^WgpV!)T?9C-hn3i!zOY?j}j!uQ3q08yf?OyTRGFaN#jr zLkgJREv}D5hNi!MR-m>Oc*6=Fw?emDx%XOm*IVIp(|IqOG@STYz7JW4b`&hXxzFR2 zD1BIqKzD=YlmsD8=|IH$VXP}OCARud!Pm+#<$0zy=(1jyn&_pn|3v7l^6UaRb;j18jFq^OzB;k%N_6HUk zsl*5LL1v1*4nmfx|f#_*@SQ?VyWof*9Dh~&u)w#tCiBtW{^Rx=Y-cPLbRHJ~iM&lR6 zfFeEB1ep>6;i*m&`)I1&q4i4k%|h2yEWHT}kVKSei@bBbc)Of;(z7$fR!6hgfx{}N zndotRi`ZtOKy=L55f?MAER7jgMaPU|5DZreKaY!-noD`|Yl_bIUZJej*%wIFdHIlPmgjfyt$VFRm2cg_f9+ zi|C%ZBgOmFX#SYKbeT0qg-|TG{9?MyzFhUVeBuzc<`hg+=~|hSx!UC7Xi7!MEw-VwDSylh~TI}Lqw)k2$q&qi?Z^b#!m9B_;v4$0R906t@Ycxc5{ts)Mw7DEYW1*MVzd5I zMi^5P{~@Q z`eoBqs!>z1NjIvgdT;CYexYo!Ts3MzvFbboziQOfZFG@rov9kN7PNY&i8r;t&HbUt6H+7*rZx@6gTTu#?YzNO4&s`MnBfcE^=@ZQ-JL5Oknr2Cs4g} zFa6HF%6{i0`vpWl*;m}F2GQ5u(yO+5>(1_5SCRb{S;+onlSPvKA|`vvLE<*m*C2@{ z`uO7*TVm6=X33#Ei3{XV@d3TqJUK$VNI#a!5podySRgM|B|MkQOXUc>6cjT4ge%0(sHxspv zdLZp<>Pw(;E|-&4k4k5S-R1zvK!Ik zGUZ(Lxbcp0&?-^QQYel7lPW`s z$Ig;Am&Z(&TUx4?yIaw@hTPqc&eh~W&U$SiZ|Y6gE#yrz=-gPIVCmFao|sG5sq&t# zi8g<{)63}z4diL@IsK=Ke1v$J~PJJiq-b)B|XJ=jeZd-u6r7PypHdNAY=N?2Cxc>!2YRNP`QYEz7% zoAOy7jKvWK5l4AJcV=FhH7_G~v4G+DC zM!00@HW3gWHoZ&Wv@X@Tng(zxA3MjWa30b`9@24y{8B^m7=ljOG6ryuZZn_T?7^>u z+=ag_#th@PeH|f~fX|RbhJ23wlzKJUMz@)OZ4%BNrF2CVc{$ArZnr}BTe-is^4_(= z|FrTOTlwEv1?Q~7+Z%0aWNrF?>^%pVR7KMB%7tA(g<08!m7F9VS9^-S;X%q-q<_y70vef#yy z)b{JwuU~alb;bQwZXYYpZRP#W%0Frq*w%(A*2WvGjh|ba?y9xvD{J!tYuioMwr{QN zh1QPs*3J}bm)F{zZtYoCnYXbZ3;Sf>2{|rni|48>Z&;q)ftL}DS0frnQtmS0(J9l8 zI_^2IKwL|FW?HCcg%{`JqJ31f=afh1b-Ic%drJ4maf0v=PfrtWX%A2nJ_q7P$@@yU zQd86{ISs126lqZFnrTqY+o9u9clDSbVUC61^Zca$VO~%vDqI$MH?Io!wB_|^9K)x& zQ|i}{wF_Q_7QhO6ZX-!Y7E94q6-)8>we{m0gR{TuTN`kW3Tw3@COkM96CR`c^RB`r z7<1J*mF|t6>?MsNj<#ZyPC|>d{L){7K!3=n3YoukLH0Y4v(UeKWrZgyAojcMQaa~-80?VGadFO!@e)!z!5k!3XVSLrbNm`4zdIZJ;jmVigJQ2>OhR1Vd|ucR)i3%!)Xm~WW=-Hso|!>>uwDO4G-QTqN9?)>p zAvoxOYh?K3h`nn5hLwUps!!&IBd@24hMV(5|7|snX=OotR&Zk+UMnixT(_X(b-4MP z>yxC%57$2&+!)7$ia@2IFfyIerclpiIw%Jn!NZMj+QgCEsBu~wcrr-CO=}aHK~?{7 z>tnvhdv$*k9(2?W2XAJ~C+H9#Zk}dZt$XyknHf-1^nA<=nW(akvJPej)S%w_2TwM}L7`BMZ>GfvS`*E5Qg~n0zo#+Iml|$n zI`x-4A3jg_H#411&~Wp;psrip*H|}>u96CF_Wwe|&Gr0H!^6GDaL;Sr_eDL9X>CO% zn3|7y-{5;R#~-KrBhR@;b4ET}!}}TVObzdCz)@qT?%UUZqZVJm&G)rj!%@y>|Ip^# zKY;Hi@RtGmD&e{E9^`xkd8;A+1K3y|HW$Fw>tNeb*#0%_oDaKxf<4n<@9VI?7aX_? z?wA0FFT#;7aP$xyi-+S+!`&<4-ZF4934U`F?(Ynz-+~7=!MRg#z5p&z_9>Y=>kxkH zLpiK&?t@MLP1p>gtXD%$V>9eG*bHBW&4_c@jBbF<*gDwUUKSgXB5UGK{5E+yHd8NR zGa~_;6iSCR+l9^CUf9h044VaaVzY>bS~3!wWmBYtsqq&}i#i zUkkH&ZO5kn4cH7khRrSKu^IEEmEMz>?JyqMW^jeuI#lQix0OQq6>cln!KBhxxGf%* z@GO3X+sbtaN*Dj_+*Y~@y$!w}!G9IlmT+qP1LS-Fc`G6RJ=horoAY3+8@4Tm?O(#q zxv=X;*fRz8z6$$$(DCq&+u`uTaHJC)Jpjil!SN^I?&WarRdBKj{N_%$zayM}10L7_ z=T5@;Jh;#n*<26G*WK#?Hhm~Dq6XnN?)W+1hHdB3@QC_E4-)<<^om%3ZZ&Nh{{BCp7qsH569L z)Em2rex4S>Ou3?UyI4{5tCPs$nAnNEOoqt`-P+K{xL!BW$Ed!|=$e$iESr9oA0nMZ zhX^Gy%N>4;P$KUcF6%L|j8XjsVEZWc7WH2|PG+g}jAO^>_qvI~Jjk*qvPbCm@~Of) z$kL~>--!Mxs(*^irZ|7LtS`5GHg6yX_RnLP;!Ey4UQK*q3#FBf1s3vaXs)SCm{;~) z!Yha`p5@XQ$TF65H+5OCirqt>D^_t)?Qg|e;oP6Pmi;7)@THQg6Tb0OUKtgY#X#!T`uq{J`LN>P6^8i z+s>t_q(~@(xPW72!AHb5o9&X-&{nX0!Va;D9hS)}ZFZQQrH5L}?vhowvM@2_Lvivp z_bsL=B(nS1H`HeuyI)iwTgvWNhUR>BRvH!dv9s(`>ddlOp|mRO#L9#3inNs?#37O2 zF0|FS$`;ucUdL4@+rk>|+X#t6J2%Eze$b22K_Zz>%HLVqG!{;*3!L%34)Fk)F@dP4;7r>{DO_HBoTo7yPQaMYiMoDzK+Zic60 zZUJ@bGqoh>`=a2cT%NDth8Br?G~CqsZPxH`i*`b9s`xtIHp|tv4)%d-_r1K^D(sp&*=W9JoKc7o7xuC z=9HxU;b=2a^E9IX!2S>6 zP$xL-gClj|u8DAb8{C}@_s)ist>HIc!TtA&gx-hY!Gp1^z;fN))+)BK2lL3qe2d2A z1Rw0m#+C=Za2qV#1`Y?mva#iQ8fxADyBk}cf6jyNB&1&r{*S?41DP?9^)2MQ1bI(D z!5P?i6Kr|~w)kONCD^_VcD90D&%+)D`G_zXJRfUF&&L|d^RbTde5|899~(%|$Hvn0v6=LIys2lb za3<>@og6zTC&w;AtYn@Z@|;l6gS{?}0m<^1ke!St72#JkP|j$eoYBM~B0<-JA#59U zpFLc7!>k@Ivsq0Y)t1E0C8O9r`tQVXvhz5$ElxPuO<-q)@IFBc!G_lxUAuHL+a$!> z$vmDu=S`CpS(iZ=});_&2)LmGnGz5tJrj_EIgyUL1OqK=HY|r%Thd~JVRgbO5R`Ih-FPDNEMXTg$L+lmM30c4Yo~s zAF*xH`-tt8-bZZjG`fKK*g@q(#11MSB6g?pA;N$b;X_oL-4)_P6d!m;$@$EQ3Sb)p ze?Y&+XkO%DoQTNzhun&SsliI)GQ^9ytQc-BG3Q@Q)D9{GEbnN`x7148Z>66bCJqLX zlb6K0r1J<9E+H($Nra;ehkgLUCm?uAz!RJ}B{bEi1cHP{CwT4&cwDY1;R!`81&6c* zgpzoOT|Ovro09lZ-QSeBgX5SIchC-HGUlKi&1Aqq`)N41$(Z}<`Ir)J(C!)TzNW+- zwD*}3bkJUAO5A_b_ci-}rQzY`V@lk?=tooXeOr%XO57NwQ=-JZO7}MCp_G$BecZ*8Tj6Y^glx2GsrjyS+gLgEaV=5 z{GqVHf{nk0&3@QAluGFAstUWGgniZEz$`el2o6tyBi-SyN^tBWIPrI(kE|TanB_W@ zWO?qT{VoZ_dhmRoe31sYt ztQ5$Jf!uwNe+v}+12#Sio6}(HEwKFz>`H{)kHfwsIFJH|7Qo?2aHK2TbuAqG08ac2 z_gZi=K9*rt%R^NxR5-pHO}xDP!DH^)O-U|Gsx7t8zWUvSl(4J5EKHPmqtGnZym4r( z|6_E6ZzaNCsx{P2H8ffWY z_6dEi9n5FY=gOh%Yw@IPC|^u~Im4wOwPZLSOuv_pWWT4+^&|OhasE$G92>(P6;m0b zJ>83iJxsq{%5w8==gG7{3nz)p3|FT#q+gX&L~@5J^IOrc^-E8i>MD*&VpXPyHkPNa?Pm9B2T*iGB;gQg5Vq*rhAleK74?5b#j$clbp*(3 zgASvQLf~$9;6t1cX`S0?d6FO`PdX6K%)m#O>oZ!8?RrMI>*HD;K>xiEdGd^goBn=5 z&7$e|*gZ`DmKttqpwa(OX%9`2*zX8)kySGeag z%0GGP>2VDC)>Bc#&GCctL4VqidETb`8{>0Z%Z=gsoBpw%=y6QBahZmjawA$2lw4}c z)qmFg&2?U_`=cB<$dLoR6(Fq!_`5^kEy$P-S#=@%caR%^{60|d4Q$*3o8N}5t6@hR z>{<_dZiKxb!v5DpL83R|&WGUWGg$Ka>UoxHKeLW5wN4zfJhKRgC!@tJQq+DK*A*m| zvYv@#SCClBdZk8UA-iGmjk`H6@9K}+oXV*!?v-r zVp8aS&`n&w4LuS>7%KmP?GwG%utP1yzcSe&Sw(X_JK|h_L|yM=$EAe23&Y?aqnpfN zCsXKi0Xyx~={)V!={zUUBbA+V>U3Uk>U3Uk>U3Uo>U3Uo>U2Kt)aiWOsnhwiQ>XK3 zr%vbdDfBeUF(&>My7wgZd$CF@*z2;=sGq&gjtPf{bO?w4k2aB*mWp1L{NTC`d1a#GF4xDI_r9ZolPu z-W|Xbh>#GQX$g@aBq2Hw@3({SqG2(g8|sA=2VG4L7BR24UdXUr8UP z_VFg&-;{>hXt)`L5cH-u`#+_}H~ngZ=GSVWQW*P2k8k)@upgqrO@E7^cCAk6_&i>Z zV@Qjt zd#-Tfn}SP6J-#Wex7Kj8|4SMk?s*M-@VIq#yo@Olf_phMUrQ@HAjb>u>1(<~q;R^Fe7Hb1*omM`Iza0i@ppffpfTE@V}J?6Z*j zCFDN|8!ExZiLmJeY{`PHKf?AqVdq)ceHQjU1^Y+9foI^*3OJkycRm0|XTq`T;P?r+ zyQe6A?t)Wm;q<%kz#2GL7tY5(;az~vq#t0@>wavK@4=?;_f@ElPN1rl+s=BB0w$72 zW7BW0Rg5N$_LO%hYL$`|z;%oh>=l|Mgx(NZb%iF$!;!hygS6J%D?yqUjs{$zNpd~^ z)ig<-zREyaJxD(Rf#)G(He{89>@$%2IpjYM8?J?o<6+Y=*pdNT{|ejhfSqSx_Zisx z1neIU2cCjM%iwTjxbrj|odL((aQqnD-5u^-0{8tLPOXO1@4y4A;9PAu4^Vi7XwrK` zlPF*;`2^9VZ>zBVNRtw++&0#OYYv`tO!xK$-uyq3?(IvwaesX3_F6V3$jA@~ zE!p_VY=cPmHg0CbE8BAlxABMN~2!CbdeIMllTf3>OWY*qFmr>JUwkmkXE1S30$NXV_8X33vnok{Z4gh z!u}u>08RK>r2sI}FO>^?g99CC#{MXJHRF`UrC7Q#)vFWRNC;88lT;M2+-~xAd%DSE zAPsWPm9TxXOrc9#`5j4()?~RBZ*^U zE4?)cLdQl2BGXonjGO|ojO)fwvCLCW<35VMA$#IG4L4oMgGWEpQ6=bLVv5!a^qwg>AY-7F`yH98zeTKx$of`ONU7L_-#MEQlOBjo*x8R3OvWN_Li84(Qa0>07qmtK!S4~9=jPJYGvat{hmcqi zq+KF&F)AultO!9UbFl*vd}lh_DN@Z&o9jG4iEJ42_Jr;+o~HKz-nMK4YKm4^Jv~!V zI~tX#L>ed&2U=!f=IZZpu95Q-r-gr~=#duXouW@!QE_H$v3J^`uCpZKo&FW4B*d3p z>YWbuV}&T@E8RQAbX~%&Fqps#jmZK+`NCofw{N<$*^3~g$@*Or zWHi2O2O{3}G`3gB7>M4;JQK*EimE(2oaIIU)2EcY#vPAP#65!?RbE4_d%{m**ye zBzSfsj{Jbn7&*JS9Ue!vN5zrbi{l7V_z;oT$ZmcLygOq9KcZ4QVI3{DJAs!W!qD8z zVf{Cpv*6B1{DV2HSC!iNL>K{y`_DMLML4^vxb`LHuul#DlJTGsg%I3Y z{3WAZJlsp(2j2CVxqdco`-iE(_F6e-cFh8_0;BKWaK4ft`EI(R;e@B z7D2k;UIEQT^bF)!4pAz?(tqQ89t}=(9=!+ezCuDRld~1OHI3 zb-miXU2W_$J=*ToC)hM~f-O%Q`0VGxhEj{2w0P?Z6)cOL^t1&}wzb&Ce38}!d{fgQ z?rK*R^euN?ON~n<4n&=DtgAZGTn)j8y@Ygib#%Hq$LGh5lv1*g1`fIi2+86OM3962 zkwtNE)eR*Fp6bQKgj7q6GcLkRxF z2F9YRUcw?mm#PWu8?uAWP8vZ!S0_okUqWpe?NOsPJ3;@h)bK|7sM;_&PF&nX8IGG! z+5vGQEar4rrJ1S*->l?n@Nsqw9`0JQ3*u@aPUdLtcXPok1t zMr{*@(zQH;rr9`1Da*c>S0_%2n1}P9p+NkdVtk+C#vt#ULJ~OdQyEFc!SpO0OpE6q zE#i8of-u@zo<6laFIe7jR(iaZ{!N88mgRZDHxGP|S?q+3t7J`yvisNt;;Kuqh=<;T zA+C3LzAPz~WI`!YN#3CMCMLuyg}2`IL2tdQz&pkA9xm%EZ~4kYdPTR5dIBLAw$PiJ zAhf9+2yYo!U5XO#rqff?p(c>UDZs3@-JU@c(AK*U)b`Qw-BV>IIxlK!{|dfez<(0#ZjkX2WPJ&_lOf*) z1$V*5k>!wPrax|FF;oHA=;INY6)X+Q3Mg^DK~Tr(l7sC&7PMB04TzA)T{)D`XJqiZ$xO zHS)q4j4MZ-G{;dV&2iMRm7|XBIO=3OjylTGfxbv8MUI@=saoo$Yz z&MxJsv&(VRInW^JmUBJ7!NC#ag>D-efj9|Z0tCSd$t!0$KC$r1Sy90?;}X1bil;me z>y`6_+s321p#C>#>Q4}&{tm?RV89cc%*qO`0hj2Nb3{`{^x6nf4FoxXNx@N;EYbVp zidT-Xq;ouitMxHCC0va@?SIRXDiGiAU&hkP{m*fj>cdIs^_wMlZ;G53=(h_c6%d0|g($#7m!9+N88V=tLM=QczJK=a+IPqM?m6pr@g_V1?wYR!; zxQA72j|}7coeds_m7887SN4d&?SGk=8T*p}`=^9+9FHh6(-%={^V?f{Y%J z`3K0(f!vFbzY7XJ6q#x~uw@c#eHOOQrwqEgr@+3lus;+gGZF}K|}DQ zS}SclB1hHdR4rMbQ=t@R#%jScW2|8qu-$lLaz4OVD5>lf5OO|nAhcxTC$cPI7`Sal z#6wC^=L38%B|0B838m87FyLJ$oDZ@s>F1Dod2S_;-MdEk9%RzV07dr5n7J%0X0r6C zsEMv!MNyONg+VQ2IU9>ju${Ho>q0!Q#n&kDyt=GJ)It1Iy&A}5A+;ND;k?cQjipq) zwXsUX=xrfw{~KDc$4Ku|tCh2gC~L;smGN1Hb-|~Qd_rId3i^@tlVwQ9jMm29O6?-5 zx12`^8Ty62p=3jUOyPKyA`Wr94$Z9KU~F~fMmqX=3tqo__$VlRp!qYM;@ zwX2dET||?+6WCt~Wg3QBUE=K|oT4CW7-$wWnl6b<)*O@x(H*0i{TjD@y?V{);jdmZ zL5N5>5MiMh6`4kX%QRa)8u}Wg{;4!v>;d#99F;`^(C)A$cMFVZ_o zOkf4{Su=s%OWUeS=(cj(HPy>Q0bJ~=u68Y#YihJzr6uCCN+Mp05=_ilZ_t?8Lm4wi zfaf?GGi&2*q8T&ml`Q-wmO}V#sD)q0m|0nyM9><>*Ole(TKru%l~xp(f>MLr_X0wg z;y}ctc!Sh?hoccI;WO@+m`j=vk+irljq^Rk}4w486c}+MFT8!~iSeihV!I4v5 z6!Dt#pf{j8FgeI_Q6kH2>!U1~i7e(gge(s$H|u=I&3YqFIk7Ye>Fpb$;n@7JIEFgy zC^&}ciHov-5*mXzMn-|S%EB;Gsd5{_uvSUVT8J}EL!6$F7q@8Ue+Z+1OD8YxP$!sn zM578HE~UrRcjRN|P!qS^2xma~Pf$`*0s}!vE_5IQC#JFO0w<MA!w9 zqEWUlbW^LKYh?x9axP7cBeZ%!1Z;+rAOvir5s)Cnxg3Za-+aN(1o`-?V9*xTFO;De$m`F3xS_(-PyfT1CSy zZpHpgKWDaGK|dF^m6>N#I>`K39oWZW{Lb=cXZbU}+hQ?%H(h|-$Sg}&lJ%Er~VHWcFDh>(rrwp-%hv~e8qZ=rot zRPj&gir9~eu6~1ehQe!*|A%@ri|WTE6fu5G1%+hLRx6xWNd|>9w>+2&>kG?!a*ZDo zw_1@M9Wfc|sba1-nB>aIVuda_cxsQ4o00t#2L3(7b)e&l6(sXPq47uX9)`3bZo3uE zhW4E!A4*85#3c-}Tr|F-0$x2d z=K6BRH;r&XyOfkj!*Ht3cgN|wh8>LAy5bzeIWC-vgGaZrV38EC2DZW zf5~!49m?;)*8$Qtfd3{4JO~-RA@h~8N$NnKC zD%c-M3oW(KxO=97_iad8dxfGC69R9bqg`L8PZ-2Oq(g&OFG&^9c7>wAc@(pFI|Z35 zAXuM)g+{gp4PO039P4w#{D<-O(T)e~Es?A9m14O%`E`1?JG;7qmO{K&xdSiY=p=vO zZc!R5g3xAmAlwze!*H)?o4A=Fe_Yg?66Jspr>zGx+>|roHQY={9#naoajg&Q{{4(i zzedA*8}PXrZYBm_rr|w}{xdWj-(xL@czE5A)&kP^Lf{q1jDzelkn;uPeZVbRq5f=V z6qNWcUm|H5tO#k%AbmFkUZzq-*;hf%pCRwPRJ$Xh)jUM2urXFs!&0=RQ3+bR;smXO zLD1stPA=CnH#;xrg_}#0coFgxD>_x3OH|_es_avuXtS$}@)4`6%jk;fwcF8um(^wm ziBi`+YX`E>Gt%X{E!wU&v(ewJcLkO)2-($>G~6sRFigX77m*=f zvf%H)_sAl;{kSNm$D-vS{^|QmHv1RwJ%l{A3$9T_9(#GcHVC_}Pv}?9?nBr-`qGRb}lA|jd3F9^#d(JN$w<$a^Oh-;3f#%HexCixaIN#u*6 z(am-bwO{HxY*0XGzc>)~f`6mS)i2tHG2Js>)EfYOUPCs_n;LGi!Jy1)*4e-#iaLgy zY-*E+cQM!(Iu)t@y$twP4aW_c{^>2DFu&iD|r-mTaI69=ueGP10!fR(e; zVlUFO4`CafR~|;@`9JpXl3`VYwDFMs1_WM$jQ1hyor*2-;a6K38CF)hm9rg>*gc~W zidkV<*XpROt4nd#)y-gCL?;rf2-RWDDnsa3_1f*|qkipiv=N(_Jg65=R@gFf)lM8_ z_r|!4nhRB>nlcPkF|LWUG?(;x748v zwDMnsKoV;v;+qcdJQd?A8EcT839LcUPGJo}2x}aO!kUc&Yi_?ZtihvzqM0Vv_%+m(bo^KsmLjp7s3d7#yzQ7vnk_F({NM99iicdjEjMrPYD@!{3Xh`|MdMOzF<`26No7Na77}@xR*C= z5wWSt2`vQEN*F{Kkyy(i<#=Lp+x-nGFLLxsQnAI?3R-szi zn8G!RS#_~IRZBy5VqH8*WWFhH%7%Dy6nIuw;~7B+&m4##H+>_EhTv*wXh>>nyfGb) z-5PF?o0-B_b8u9%{ja=t?r2kmvo z`RFagh%Q#}m7 zj5vFU%Qe3)J0#RPbvd41isy9^!!(e?G$?Tx(W5Cw(9>vb1)-eOQ4-3mj*`|*>M983 z!mcunz_gx%P%iB$>E`r4l2GRNVGqz?)B6iTxvW1sOh0E0?n-oX)nGYR`H>BX|GUQ+ z{C_B}14)F-75`rtXoR#VGXHmMu)iq&|2KSoC@h2gKhzZu3ZF#CA(cmTfar6o2qdQP zxU#{bcSuXi^N!^$_%$|IR;VkYnZ6<4Y3qv#|0ycmvDTP2*!|#3hO|Gs?O}?j*U&Nv zL5Qe35PAjUr>x>t0}r}fJtO;&7R?NTN<8H~f`uf4g#4cbj8;l~vWc%-96b2!G z7<_S%HVV@3fWS?VaVung4%u0d+qqn4%Vlq~@=jYkiI%Y+R*q323Sp?XnZ)M*%{ofz zeF1!BA#DVtAA~>)$QTNlpFws8w1m3Io2X}2PtMzjM>2`gYOi7H^WEiPcT zHw4UBdpOF238DlhMgqO+wr^7u$Z=5?Km3et5E?W6m@h|xaBOC9awrk5?=2l|L8jS)fUeK-(`+|k3oRKYcn z{U)M-W=8IWUU@5fqm);s+M}brfw^Hf0n(Hx{_yCtSM-$C)7S*W8s^1|;apd7_x()xx^6xEZUd|M8ZRUkpV*jvQ3*ePF zSz-P8$voSSQwVasMi7D!f;bStM<*?pu1wt`pYhAM%(NV+I#hfVy)8@Rqh|4qYjl6p z+Y$v_H4YMhpexgp;ERW}RO!mpC#oycziDog7d#HWN|3fL)xI6qGa|j87#7tRMn!d0 z^c6*QjCBZ6C>RMiCxf>pz0Sm%vZ!;-p@g+H>x5u!ygeT0D|D1-EeNWlqPPV*Dyf$g zLpVriTR0BU7EARCw53wLF@5mhDiD{mt4XfY}=C*ZS1RAOFUXE;Kc z@>NsBiLB}he2?U4W}L`Gk7}|f$R;5iHFHKsfI*7Dw2N=JM_wej$TDK?bDYgmW-(jTha+69jP9lUoy+AVH- zGOiGbZnZQgAP8{+2f{>NiQbpS0(R)VW3qssL*csNQ*kIQsu)KJCDo#gmiGbQrUF~U6lh2|)SjD7zrl^Rp zM~N+*Yc1G<$kN zYm#KC=NUCb_2cC=*d1}yo8{IQF@Fu~b2oKg+Ne()elTAn_6Yr6(6k3#p4yb15&hS- zP(nou?bK?dZY?JVZN&rQ=pqti+8m9T3f{(mV+IrjH@(_NX?Rzo zzu|RGiNvM9?B|eH1=1gcz%t0_#vY&t8p86NmxUXwNbdevh%4%&^uOkbu zHNoU)Nl9?ois-WBY3VoWL^YF8rVx`}iduG!EdIVEk5L1be-fNN#^m&iagJpA$B;UO z1Oy=~kprQ}96x29VEBC^8;QVG!(jL>O~h&&M6#TQs`k)hZ95kL#+*U)98~#JW=TRCg%- zFRrmnO47Iu{kpcLh*nK(*@J#nZ7)&?)NX$p{c?8`F}6wFgv42=PZt6#*#RZv0&>$eVDd#M?{pjR=oqROySY z!spt{Fdf3p5i!BB@)q~ps*``!`hexL8C4SAXLW{ zbF_&*pNc*SB|^SZecly)YGI$^F}%egq49fAI32J0OpWu37^g8pP%$X(9#jm5#sWhj z#S5eNn&`7uT;(nCDx?#l577xI+=6}Z)F2=f0V$IrpcPy|+93oJ(sYuv1ij!IS>9@v zua1@0$x82L`FmJ_7M5Msvj1RZJZ@#4wz6`p?9o2J;Dz;5H91%^P9x2tK zbelszHau(yO(pLkzGLhkLS)-Wd>2O%c_5J?7#ss2uur0BMP^wHXbwUILE{!d*mu-w z+0R~%XhnHv9ZQZ|K*$@|fe>HjRYM&%)N*VB1C5(VV|dNO3E>5QPev4wYB10{0@) z*Z=icA>{$|CyRx&?cg5+fuA8`4`g+N?DLS@1@bOH!C2Vv9&EY|Ha`tpZ-s3S!wyk> zc`i>>-eo)qsRdq*Tb}hukxX?Hw1S@vZUV-H32JDXeqU0KaP0%K)mDpEP zF|}bLsZ$KnZCui;V-O1i^%G@rBo>ZO1 z?qvD)N*sAfsh!nJd^_3;i`l=FW{T*V3 zFFD>`jVo#>p+ze0(p5kUt#^iU1Ia_htvW?Yo2gXXO)U@p{cWoM7~X#pB1I(Gz{ph+ zQoanWILOTnuQ-nCN0qU};quo84K?k-yW4HA!CR7*#!*E}NT_mJI=n^EPM2|+dd1_K zsTfuoUR}dc2nb<9y*1p({{2r>2{VIA7VC3%IJn8Y`|A0aS;tc}9GPX%bNO@dO@j1T z2&{sPs*rgRvUfr53dpZp4rRvdK2~lm?}=8&R!sc`X%j{-;rW%&uQTRI%pu>}R4oDK*>D z&lNSLEANCx;vhPwX=8#eX)67FC$x~oxmu{=T&+Zm#mrW!I9FR$oU5%W&ecKwy90Yp z6&35Oii&j(S5ypl^XhJ@s93iMMa6o`qGCN&QL$uIR4iE)6}#CfDt5ChDmF=`q?l7lCI}J$aC`Qxsp_Gn9I)4 z60TmTelL{2mo8Oh#FnZuVk_0aD?Bnk)2WKs z&xksrir6pz;woZpJ5`bL8?3gAC9`=uA>!~IrYH~e{CIk zz$&&8hVkvr)(yj#O+St!dcvk>S5WRTl?|w$S1;OxpVJHYe?5}x%0`eIKimfSl^a3I zMVC|uYzpkU2zy4u-XGz>7&!Pb+>r`*-Ym-H-C1$DQv~erm)4QfGWd&+a*pR?ky(`H zc%EwWXfoKGuvUS!QLO@$ucL@npa+72VXg7D2k$R*;7(?!A-4BlS{iJn?ZaC{Gcx`Y zu0r7pfTiJ$%>rNqAw{f{YYK(nbOc2df-irvr34v>UL#>JiEjzjg-xSIb@8iWJ!u)K zCoCiJO{7Jo31(;VqXe|GnJTT-EL>?V(W|v8t<~Bot<_#il3Uw5rM0@M(pp_rX{{d4 z=}MgE1Gq-wJnvHy81vZnWvi_vO%=aW`I7G-4N>73R0D)UVhV?mPvJC+tNL4(ucMV# zZJ;m@rH_L&30rO!i9#C$}TyCjqcmEo%@1kH+nm7!uv#y4zFWkGu6Il2@WO;) z!e+%1q#k%lHL2M2R%3S)jaXGnMV!3@-|`LYcr^rAH}J+t z0VsURhWa~iV)^tq%luR>!iXgW`f(Ug58ezuT5Td?O5^Nju?kYjm&S*vBiU~v#wFid`o5FgXW)T2w*jbZuZ z`&aRH=bZ{o=}vr>u8268m{|J$QDo~loi#kndq)I8%Xt~)2wk28?(^TFz#VFLGa_5N zNZ-HP@lN4QY>4P3Mz-$4IT8&+e+-501R->HAbh3&RhO%KWFl5Hq!lx_De2a*l(BC$ zyq+OFuhMYS9i*a$o8sj{O(abXL`~h_5Ia35b$?SO`MrkYJVT`U${OC#fCp8cmkKxM zd9R+Q8K?D?zAvIdbFDIb7R}a>_67LIgN-Q@?t^T~b_4ktQ1Az zAuDUAmD|V4Z)0tnW${(??)tL39lR_N=dQdw2U)|t)L;4Xq?+q#@Fik47V8F=avlu&T>sD;r4B_y9n z;m1inkuinC-2n;}C*wXA7m_4PKu92WAcDb0tvzN29HYplD3-&aqZS>DFhHuk7iSq! z(3%(aC15;36#h(l!y>B0UdBrx29{8L7=6^JzJNZeHjs|O4Q?ZjRkJBOPoFn5WgpUi zuWl`Papl%*Lmb7p&TprxjAor@cf>m~o)OZL9Kui&n8`(kf#!@<&zXfS(63?|v^ILT(mjS<|o{3Ibc#!qTT zI96+_L)3)ixX-~ctrff5-d|d+7%QG6Dg^C>4TZw=JwshE7$pOBUahnrt@O>c?BSOEjFr{1T4(Dj&)&2j?cv^^z&G6TzjIZfot1GhCbOEw6YK-H z2GejKgck#_W?3OcNJ&pxRQ;6KzGfrI*9={2EmuOZLlS!%;xNB6nE+u;U6f)fx*F(H zlJw0*5{d8_?1Uo($EsOuETk4{qd7yh&_gAaJjm6h7^H?CguNA-MY^f>4e~ayytB)C zpS8TtLVCWH{)e*uUY5TX1iD*+HDv?uSb=xkBnJxO;^-75Bvi}D``HIEvMO?1Ytd9$ z+w?=Dd~>y4bB+#5YB5at1~nHdg2rS$XhTr_P5I_`y1yacc#vVJaZLFJO_mC7vb|>DI9`c@og7L87E7*Jk37Bc0TN&l7te32u_pB}VD;edFj*Rjt5}(q@D0qOyV|`@) zczKn##6h}LcaTSLkUMZjqJZ>1C8cyG-2)2@bb6JDVo2^puvUr6hp7>XadG9tVVuHX zyr!Qc+Smjc7Xl%cIzELR6e7;t`BA23>JV^LMLclIqQ37E=Kb{}pd$NDoZV8KU082s zmK|2gVY{P>Ip}avRLq%Th&e{yp7Y?nlVpdA2_lNAN`eT9x~`rKtg0sht136?NnNTp znLrAx$DcCz!Z8MA$$pTw@d+9#mIRO_Z1iQ>ip2 ziV&DSCD!u1YkBXseA!mo8Y_LC0{*TLc%mGxds;awqqZeutOo?+*h(Z2MT-Oe zuX#2}^9O~8iZMi1+Y_V2GP1F?Mg)cJVDRNrat-UPj&Te0PXJh125d~vn zT@m6qs)0=L-9V-IZZw^U;N(Us#rKUW#rKUW#dmZ0@8&AScPpXeo7h2QuASLMrTFfm zQhfK2DZYD173SPznc_QHrTFfrQhfJQDZU5E6yJkXitnK+#rIHlI@U%n_gSOF8OA+| zy-xIG%y{WVDN=q{Wt$yWEJ06B;OY{yandHp0)9gg5=nR$IlI|W%5K0u0#~D;AQ@ZC zDLz=h&(m~#pn~Tn*NwAS)LUSqzo-$8dI32!jNst<9FM4 z1V(LXjX8Ozc1e3!B0itudn zWhS`{=&g^=j3JVEP_t+HvNh2CP56J0kDDQhKL);5kaiyY?|{7uGOI$?NWba zC*$pVagL4(unK7sWWmB)A`(0lke|ScfLh+@jD~i7ul8uiKf&&dh;ta%_FBxUiX@`D zi9(xtLjeiZ8w!dvT~VZ&rKCt?{nwM~P{B2by%J?k@o}r-Xi7z|9L|0&<&~-SebL_e zWmhj=S6O5Ns8(6z6G*Bi5&~4ND<$f>LZYtJSh&koZQPqy_L`O=$v{HOuJkLhy-ab? zUZgmv(p6M0tJQTVp-hz?%quK`J=k6pY{?Q>O==%WRpyF`vroEQi+ZavoxM?ICOcJ< zoob7pG|)m)FXHFQzI-g*wCW&n)7pb>rC(Ksx1x{bW2B)neGI#geybhlzA+e<%Z&lN#;tLL&i=)6#OLCAR_-u{h)?|$dNknJY~jEwNHuCRe{ zKM0?=FGc%DYB>hIV;d`4)cT-^E(G;(!E$DPFC%0w1K3;kDb)JvXDCrBaB?ktt2FX| z!gYqiDoFF5R^{JN;fau02sx{Cn@a^G6CuYGWVC=BM#vu&q)cZtMD!)!4e0~G|0&paL*`1zPJ*2KAa4}pe+V0Ig-u_=maVX@XZ$UwzVBzHePj6x zEPITVS=ZwE^jgQT$F96r)F}L~d9P9o`Xl&uLV7>&{|W5lkhvVPt3b{@kT(MI--nGu zVbkZZWixE+9zO)%YhNqvE6bl}*`usXJf1WA4DR5Fk`WS1bR<+MW3LO1K4-qDhgjT_ zMb%TNVk>fpU6j~VxW(9s><(fZ3$7R015&SN2kGbHnk~e?JvG@;`aQpH6Y<+$SA}-p z&`|vL-N1IJ5Y1*XM6;O+(Y#59Xx=1`uqkcjPmH>x;g)ukx!8RjWntY0O7MCT9{(K$p#blxieeXEY>9KjwC?0W?7 zj)a`pw~=cwj%e+w(JJh7H1DW78QwlL`(@)+(=^wOV?WU6>WV}^l!%3NyeYQjy*x+ z@*kLV(O<&ST9%_8UX~_fFPAgBwSc5ETV6eb<%-k)0=B^k+}z*L9yHw!jT~6TUy&-{{Nqnp$PFkeGJd2xw zL~t}O3nP3t;hrB^Ac=8xpfX|XtWY_;5SmtTy#H%YH(V2n`}B0L;F`{MJGU#5F@kHV zs82>Z1s*3w2u~$q^yj}sNF4>~g^-x@r<6`%zvX${ZJ$%D8PDQMr$7*5%?`v{-F`4Q zn;sQhh`JGHQ`G0>kY+1p=-XWyZXW;f#)=J@@c$mQz&{uI78EB8gCyUg*UfbFLO;gFHsx{8Zb?9B`7|bV#cj{98(+$#x;9&g6m&x|=N~l8hJ%}8(r`UK9yBLwF$vk}caY8?un#k8Lgt&I@XiIu-v$Nm!p0V` zX+3PY9kxCR+h@Yg(Xi_$*s}@t)r0-7z`<;|qdFWu07u%v(R<<8P&jc6?r9JAJ_jeK zC$V(YNBqgkEo<#MWbNr{?S0zX&#Z&(tztWKDF5)v&cu_=uh$b@*_p^R&=uvsWM@i2 z_apHA1=80;U=L(;g3Q+;I{>-oA%6=LyaOAX!KSsaWh`uc9JbGZog-n_kFaM0?5hL& zUxtI3aL4sv-ac6#P<;GaM4p@6STYI0h_OG`N zwnfF^`Do(t?6BhTnyAt-QtqPCad$&HCYh@OPLDpXOJX}ni&D=t$rs`TMK}Oz?S;&; z(!PKoGLcV@kZJHT#IFvqA41tZveSPVN{NN!7M;DA3S~iA$AYu}!0jHI$PsNO6)IU4 zJL$OrJnJpD{V+Zhd0``WQ34J@$P3$n&>~@y!b}p2=T1{9$`tHS8l#EG+d6zj#Pe;@ zO#En$Q;gTNlQartEIMzicV*dX_}Ce;$obePCedGgFR@j;%ga{Bdj;r#_XsXi!~@>t zO`22AzK9a=j#}(hao(xL$qrBFo$68(*+KkNy&AAAdW*FiaG^(J{>JjSv8Ay*S20fu z8TVVzf;~!`p=K-RjiLM=Z$FC9DpcrRwHdmXLV!nyzhd#Vj`?2X0h>L=xk-sqyVCjb zUP?Uo5kj9|g9sg3MO!*Ggl0I6DIBlzfMH0m*Yb{ZlO|Q@-<{e+5<*hE1CgauZi%K~ zyV39!_(UTl`UHd+^y+B18Oa*V&1gzw81teedQ*}bui?10b?FpuTkzcn>7BvQ_-Cer;szcAU3RUo6~l@(8;N7a(?r zR@sOt+~%f@F0dC9vMLfy5DM&dAc90sV_OA@o~20i+)E+RlcLo+sc&HZK#iGr#tOlF zoKR3js!6mbPo&mPVVj&4FLA?z>sQ`HiZMCp74|qTOyuxp9v-g>qTP$fM*u?a)tA19b7ED9b4X0v2jBi7Bk; zwx3e?gazwQjAGVU#byYD-E$ohg^N{*KWT6T=G@@hQf1pp-9i zp?WsCU?9G@G<2K8i1lZc#M7@9KW%whlZekxdpm$P4@LYJ@wo>g24QkEwciOseo+oY z@QvAuZ;B-;Cyk!b%CF3%!dg{nvoFn~%K#~IF)kzjT?ySS!7Cmy>NI-T6wnqR8x{MW{fgYj^0`nxd z7gy{^M)v|5+}lq9`e71a0J^My{$!2N2gc;-xG>k}F%m$X(Pk@fGO!lGpX0u$jQ+(UT za=8c^znv9Kr4gpF0%`AB~A zU8s)#v)FEqK_bO%P2#pWY#%ES-!`*-ys`L}%?`59#kWoDAoq%I1?(^el;Ch|J3GvK zi*EsT6ssW;ERP-KHE2ew*>U!^0D0JPK1qDbX7})`#J5fOZJX?Nl0B-ro#Z!{6U)!; zXLrj9-_L8P2^)4Vx^e=0fO+W44E*v5J^MKJU@8HoA|v~NzN}yu*kkl1m0jR{=*xQc z2zyoBE}cEXCx~y1J*K7*V2|;^)NK`eg1ssJ$=MTpJb{+7r`e12Wi5M}-=cETONCnXNYee_OiNZ278%LQT<*;B7wuXht%f94(>XypBVSiNr{Dv=}7qEbRw}k$+ zf_=w66aV7u2Xq-g5Ly6#;6o&a{@g%9II!P|Z`(Ld zYuIrboN?}MFF^U+EguI#2@WVhff!F}Cwk@aBz8eu7~nN937J@EUVjaN5_x?dLz7y| z8?~a(b-cMWS!VO*>;ZLEt8QYTt-KX`o~|4Qeb*j=Kxmv@zB%bmO{ zdsKkZd2$!gYco%l;hw8`KWQq>;QeH#+;x1AbKgPi0h-AgKJ+GWRVE+GPKj@v-^MPA zZ~6Q-iKr}xk4_e#-F!5AlP;XbCkPwsJU&I*Shw*h>_Pg^JU&C%Sl96xSaci#i}-9g zSR#@V z6lyh3XB)%>Gk7{rR11>fEJ%i2kOe$P4zPh2D8k4K*oUHb4&Nq;%wfJwB`4m<_w*NI z9_M@5$7;+2&X@<-)8e0*{4m=szU|2+8LT#Q(GXT5yWvD_|wO zOS1=G&@z%~4?eBoC_9Bjpy0uyM0@amzn$2$ccO-;#B~U|k(u__pncS|gMOpOG3~NO z-nx+We_8jx)N#!I!Q-!~H4Nf|Y0nNO^5|sX!w-5srj;t_24{GO^UAuvX;%)~gH5gE zMBTrOabHZ}pw_>0DBQD3%l6^km-)OwySO>dFg?DR682^dH?^t@^?l7$z(IKX(0O_j zbbq5prU!j6)pHr^;0fYSi_mefP>It&96a3oTZfM0L4u<0Yd+VKlIO|C=>BbuaawD* zvHqS48g9(f^N}7u-1{}>GgOa*wMawuMbHnx7@r@~zkvQdxU%ee0y8gAexPu1{n@5SVIwe>v1(T#BPH1Na|bb~hb zH4oA^gFbkIbfaVFb9t8Q`J?WFPjnn!ycVQY13%W@$b*b~A!`t1e+IeRA^&;Ua0E7D zRC{;Wk^|d1!uEGz=Nj1kJnX9h2L{8TeQ@|oO0#~f1)S&z_Z))zlHugtaH<`gE(2%& z4Cmf}^J#FQ5KSaN@4+TzEH<;K^PGm*%zYo51+B1IbSE}Tx?{7HV9VEGv$8fe ztE*tM_8>Ovk7C2_!Nzj|8{g;H_-Pc(KlG3*b09X^bXo2WZ1SgIvtcean{u$(vKE_d zG}QJ2Y&3m2|M0jKB7*!1>d(`N!UH+R5hKp{4RNhli%*bF;`&G4Dn zj38NQ)ZN&O$;M{fZP<+e9-B$@->LUwGkq5}DWkEOMV;p~z-I2d*eqy?&7wQ7S<)4o zr372P2Ah>Nv00sf&D#CgtS6a|oxsL(9vk0h*!XD_`$lXs`(u+$m*sB5CVvt(8%R*w zl!eWf)!1yKp|SG#vKX7$_hYl>6KvKG#fFW<#*>0g`m@*seuquQ*VyFt#AZW0Hk;aDv!yOJdk$lB za4I&32a$#EbyV6#bS=2NDWGCeYl{A-+4PD2r~Al$-PrU$eFJAG+>vs${rXJ={YU&y z-@2|`+ckqcLdRnXwZ+*^;YJDDD-1hW4+!(G=fnSQRlQCXvT3lRvvqIEa=?~3-_%GrOw%Xal(`P8pQ z58htf%2rnD{mHVtAiw8-MfC71EA^Iv?6+}&);Ngo)|Fz6TX`88e9=g0g61P- zWy8f|rP10mmYt&iFPJczx~EQHFNp3_RQD;W!eZ_WX@1@_gFP8%zl%5U%v&XHeQ=4i zL!V#5einc&tL4JnvzomxY$m%Hlg5_&(en6(u#{|IK4pbIzgNk3nV zn}wWrF%%7*j9e6nhPeiCitAX0x-^Yt@VW$A%d(Z#(8sd*T5$)C2G9G%H=E`0F4S!W z+rT!{msGYvnuu1g%?@NUPb@E2pKW7*l(X2zGt?}SbGvO|2VxK{>N zc79HLD`0o>$>r_$a01)eUF;({+Fd+NjaF5T)>8Z|Z@-WIGT90CrtEiu&sF`dll^WG zKgGy?b}##f_?FA=<+aS>iPI>6HTfLJIylWXr~!w5D?F5WQHhje}H%0#m+kG zc{aj&X0h|^@8Vt?*?GR9oc$p^_e1Pyd5ed5e{~BZuLMnG1-r<;q%W!LB41G6{zxpz zZ=EIiZOKa_Zk5fR}&PkXLu^1bb0ptIysH!S+<(SwQ}9iLk1sQ zbkAfjvFF9N4eTX8)p<8>vRs;6b@nE2CH|Ys-c$DIJ?uR`hyIC(|B*CEZ($!PdvGTE zv$RO>V1H&0J8$qimPQv;Vc+p2aixd-C{5A@>__&90{!BEeo-LKEor6B=N5a2o~a6t z6Sn1b{94B%e66~(hsR4xbODc-1jo&jM4)sMPwK1QDzD4(>25W6T`pZ_GI#@Nk_z+*uyI|D2t1;*0g5H$z_Q%Ncgt6F>cG!9U282Zp z5sr1SXUQv;Jtbm<&x!U~(MpK;j)C^^+KG!j3UMu^aBpNQ2`&8n5shH{H>B{l0mmBQ zPC;-p$4SuVkNotHf&B|)KEqx1A5oHuEVDRK51o~*dO2=6IB(TYS-x+q^iGzaS^vY{cfdzcwEyo7F$6>@ zO4A59G{uGu6!E2rpmgt~hzJORC`h#{>|Js-p?3ly^dbm?C?H@L3s$gzD2TnhVtuXX z|NG3$?#^CvxkD3$-=F(rcP4YQd%MrfJkNKYd7ft?4|t-_dVt<@TX@Ew;u*iUG8vSJ zg?0<~$r4&-|s9EyB95X+V^)a?mlamyLDY(+vV=XU0^u1Sm@HN`W>Gs_u?*G-0$m@yB1@zusE%L*R|Lafagb1 z?-hV)w<>q(#{4imO;Vod`7d-W0=2O3<9;v1U@Gc4{lo0~uEnr`vzYDH?bWvHyPiMr zi+%q@?d5)+f%bjei?xI8a@YO+o9z21x{rIY_7D3$uKEGz`Q78mc6TazVfUl)G}IDEssSR1pSpLBZ_?Zw(IEcg%$|Hxu}SnlI&!jEinLpHT7n?8@t z?8;`n%I4g{=5}KF?b(8>+2VR^$){}DTWrNMZ1oLn?TKvNi|paa?2(>q^TO1C{mr6{i6w<8;%xI1TQG(~zk+-TDDe!+yhQ1l@krXq?6@!RZbYr@QiTx`%X% z_q~PF*dR_O-NnBir>qG$h3NK?<~Ze?Kfn+9S}@47%=D}n>RDCZv!%ZW8o94=>KwqS zAF0-E+=A1M=r{T1wI;Im&cU_6oJ@?^s-&mZ2q@{~>z-fGYPpB1% z?SB5^eS?n4ZHxaMliL!myZPTSx$O~aTF2zJq=RErmPoE1liP9}{a=yWQg7ag1=q0f z_bk?%XtS|z)F3{E#tSwFI`8c+qNo6g2*a2K40OvdTfeK-yK1*Z{o`%xot z8nXzeJI3O4*Ib|~WNO+H>1woVU;(rLIELvO((d{G6aLPGvfWJKC_CU|Fv7QyT zcvfY2w)BOtZTl5YolTtjwZQ4d%{UF*h0~y4aJn^&)360N4X35EF(jVvx&o(r?!oCk z65c_wfQns()A%cCW#Y4ccV(hn^mD^7H&!#3mxT)H^lJVgl$y(wW84!p&F^GEW^18} zdLmO5tgI*3DxRum{zUrz6VEz>l4@tQP`5nSe}agjajyR*s4hs2eVSBwHWU9+<%$=J zYpP$|lKwmSvgWjAcS%c^7V8VpM{MIVPp#Rt6)q3g090Wx2PPPIEKnp$1jY>=OjL_3u1|5tZPk?P( zfRaZIx%<~`LQgXpC2LhlKa`|xn^{TfX|D7H=6SMi^kmnsOp66#@$m|KWsXW{e;BKT zXpjA23Wz>Khbm`MTF6SpnbdqOj18M_9%s?BI&C-TB2`(Iah!3sOPSN%ov?<9k&(4;!>S z?TJkG#9r`>_jo2=;W1yQ*B@@K`oH!5l1DFK!7Ev~I*WYDa%!{jJ*r@tCiJ8yGSL&; z?#cbrGqJS?p&PzJcPf5EpJ?KB&pAogJ+Cjk?g3-qE^hRp!gCbe3%n$mZ>R!#FG>bp&AS>zIZ_ZvL3 zkXmz9-yIeG7DdUVR^6hvxv!SOhKUUe#Yp&1^gA?U)-dbAitO$Xn<~gzmRA~?gs8`- zZR&P>1rgFL!UFqYM1oafA*vAAQ}tykAyH+OC{ZWDJ|)*Ta9h+$bJ zieWu08u`BB85T3#`_Q&6uk% zl14DkUF1KGzAy_elZboMW#*TnU}>xN0)ju@%KS-W=C(EGip;9E{#NR??ae<0>Td6U z7{i!Qw<~s?s6MrW`L@X9b?^%>cynfF74BhvXa8O0qCey3H+1ut5qIk5rwtwGPPHU{ zZ!Z27kF?@i`AAP)YyK(<7GK{++Gt)gbc&^-IId z#Z;HW4_wqO7-{B<%-WIub~I8hxWnotVx;_nRu{~5rWz@I!pl&UjJe9ld95<1qM1M7mvA0@}P-I87R+zi1nZhd2h;8*2Id^zNt>`YMI%`VU8{KV!pWb=o!g?F6V*<(yx>Y4n8XIeGStaYBbuX^TJ z_biy?Sv=q4UqMYj#C$DDS3TDDqyg|4|8m>QiCh*7ox{QhSac@KY0t*bWfOmAQ_f)1 zhO!yYu-O@G&W~(feKvm>TR7&_E@=D3p2@Fyrk(7WwbnEDWzYPoo&^&;i{}x@`5hdg zc#xBoSQx^=G)aghCw0qT^2ji(_nM2X7ET~{|K-<^gSaXSc4OgQ*kiF`BfQ2h zp0LLgJ>8RY2aU@=(N4vK)ai-G<DwhM5%Yk~99H?ihfqH=)s28Y#+C&Z1Cgykab0=PYCMDG_Z%M=U z%GOq+(y)!8L>el>@Iyqk=^#|R$#zdQ<*=yR#{>&+Zt)EQLkEGV8 z(C9T0D3C_4{|hlzt75EfQuvMR%h@(q^Cln9)Zt;Hhw*%wC#$X}>vvD~H+&7N#|4bv8WkW)fj59IZAfplL5N#pdz)R~J=DQWi!_&c z%r18i^@v>#n%cWAV~!t$*=8DxR$@69RXhj7znqbIi4GyY<=_wxPb(j=|q9_>fW z8%i!vlLZlpnX%}JEa!rX=i&`N@I)T*#P)c`UkFAJgRUhBBbb?(5x}S@iGZe29~Yo` zXkte2I?H;FhGfNRVq{jY)~Z~r3G($_bK^Zhi&NPFtgi!Tn-Ohqnv2c31 z`skV8dLmG+M(H7kn*~!^tS$qjR;zCAC>KM}Vsm*da~^$@SbAO$`exHBU40Xb#Jv__X2)Pnnp|J@qF}e{NMCm9 zUk~0~+g_OP1BW;P{T+9Xz{{SjhM7UL4A;3Pbt@W5NCCbn0Kg^J=Qwph~pIPLB;Y;z{_M|*X`1`6RN;F6OE zSwB`Jm$WuRDb&0WXkyyg&6;+Sh!fLJtAu1spPS6pqM2_me%2Yk%6DC%X1))>x|LsI zf(Lasv+E9M=97~)^NhsPre#T|O+yM#n{G`!ZF-euJx%Rip>{(`POdF%)-JDSy`gCL zs#d!%RP8Rey(zxkVYBvQ;cag^g;%1fqs7~-6xGyh+Y69%x}6&Ky;0k+*7Nw^s!Vu9 z^nhvG2Ao|9LSi?YF-f;0aCeoIe?&0# zKsI_)wWPgiLgL;uKWT63U${37NZgwqXIT%Fi&aMpFRX2TEP!EczvUn9TDYaoR;j^R zl+gwzrEMGO zESSbTS$#a&7gvscgjXX|hV!k?ElSAM)hdxXwQG~Py1Ez3j{M*yS#lKEH#&+%8$*NY1EnbZXsL_Ffhm%_2}by?IPbBPgEYmK@ zqO*$c?-q+rzBL)K1JQLY!>Y=ngy5G|BKYz^bH3oqgOg3*UD_Kh!mOJwJFFDg-{H&o zf-m28n7fSivb$@NACY`{F8DH--@gj0Ga~2G%(MEPMBLM=`^ylk9e%0|Oc6QNTtokl zsIC65ZLX#Nhw&y<{eEt)qJQr{Q=06|I8*L|VrHEu?PKPiXYMK|f8YXhr{MD!_^$`^ zBK4{(x=XoeeLRMFvH7~Fb+H}W#idNhh_(cWy~NxuDqRBSe|alRbt%*h&2)`4da_~4 zc|(X$h_M8gD$_ls|xfH?1}(G z;$eE+N?%m(VSY@M7~ESB=FZ;c(hT`C{pAh%%Nq>4$y`D8@4rdLH5xlq+6~Pds=^Uv zkCJvn^G2C(k>on>cGn<8EES2Yv2HDvjO0ph@y2p-p)Irk7Z$J{5j)K=?kyf{S&~cN z;a+TW;6GK#vL+xu+xi0Z5hxJ>9_$kHkdj=#qE6b@LrQYNWO%42YlbKLk;<`Jcs1Ht z>M~1mi4uZkRtXUf@O-8;_32wYE{iuCcGgT>!5aL#?IG)q(C?H(;%QFEPGo(zF2Zr1 zb4#{Kw(i0mjKC>(EhGmXwd=c0Yd*EhUFI8sQ|#w=NzOn$yFAfzx=oB8vhVLU8G70- zcbf)1Y?rro(dRk49Q@QV^=Zh0{aHAVMIU83AvWI6Cf>`YVO}v{;na!qu%Vyop@=joL_p!M zse)=U@R1p+DR(}bLB{f8zpOd~=+bI+)OKa{e7016n^P~8(sb2@ z=KJCYXJ0C%>AFkJFNFHrY;L|LGLh!~UK!#CT9{jeOl;wo%atC)DH1ZVo-Gq^Xl+iU z`wePs{*Th$ZRHk-1KLWP)p703SHxYz?fu=U!aW_-{z!oi{&wP<+|K4_A~UVC|9+8~ z(9QfxWM*{3?qkHV&5+OBBc8?QA0&Rfh-Vqs!}_fr{_f)XiG7r4o!`gbO}uufzoKG) zY)~cde6x%SSnXziC2>)BsJTL9W)AgVDlVEfS_;(Fqs{%IV9woApsv5${E7tX**0tx zsJ4zJP|-VtKuu+*UZ|=zi!}n*c0wJ)aCNvVrBy6HmX?LWo*Ij7eG^kV>=h(7W>k9x zDUHPio`A1%>~uUNP3kbKk_Ho^geG-XNuW-QV-9pr61M1$CI7K4BA{;9mR(oa&~R*Zjrm$uJ4{?UTK%R*&K8c>N(w_7_)t~hUXT= zPPtnYJ0j67ia)UL;}*py+rR4;#kK76M9=9K#Shr`cZ=e!cDY*=!=PWims=DAsyJ(w zZS3W6h~l$Y=qnakz+&&R@fF#`Hf(Y)HsudCZ9AK>h0R*a@?K=~GueWCw)kweh77d(KGK?&$7onE57%vs_uEv3$OB6U2w_~;EOdNw&&YR z2^E~(R_{-Y4<;nV2UtIhSDS$MY51TV?T>3_RW@H00%&e zhW~gHRCi{YQ>9GH^q(XoS5_TqOfPOh~R2_x|2MlFOR- ziM_vvr?mICznqd;RqzsNTR&Eo7w1-{xU51vK^ds*`KW}%lT{-8JiW2dwR>X{chg|fZrZMJHzkFiO@SHiTYKYXxPd;t|~{Lm33CfzEEGqzLA;LIcKOkIp?Z6 zIe(}+xoN6SZgW*9x3&7M2^CbG3017jLRDwNa#^Qfl0}3`iU(F3PSu&QL)O_k^IKJC=1(%Sb=LW+&a9@g&f3`?RcCftnOQr#g{m{V zt*o;oucoS#S6gP5iuj5 z4_9^O->&Kuv{iKqI;c7YS*lJ!RQ=XMud1`Km&`0#__?aH@Sv=-bg|Xz7QZj+EL}2E z)md_hgMvo>a6&Wy3YgkRGkMJ zsrx*zRn>XmX<299YV}@=R(F$i=BI_u6*zqNjbsnwV7gsQx8w5q)EZdG~XL#pz|M`fLjn^fy8+N7RvXyDbsoD!{nl1B-WP2xuYPOm993s)fvmIaaZ}yr@z7w{3Lrep z6GqEww~6c`WHU!w*;ePuEGo1nf*X{D7UAODAcHOQo*>$^>vFmm#XFtO= zJMFsH?3P(Px_5|O*E?L+#iRQ+%k0u8jP7&n%eoiHEJ}McwlC|^#J;R&d;79pSJ{{K z>SABkD{NoZYrL$x77?LT%j1Wy+bHW&={I)W>;7lg?fsm6-`+dyy4R=Kb+0dPKSQ5g zcHKUEWEPKp!!35*8%D^wtDZ3WHMi^bYb~=>y34NHZ;z~thwQJisBq&`_GLFdZ(laR zurC{sE-!loL9YI1*B$V?%%XJQMRwhR&Fsgy>0Z0;O@8~ngR0nd2i36a4(?^w9o*Nh zJJ=!LU`0MW?~tZ;-65CTb%(rS-*?C^`@XjZ?7Fu`?7Bm1*mZ~28f`9*H3Sa7ZYeFD7{6hVfkY|pfe8;wy_;Jt46jPnr~8#XnF?_>=0;L5b)jBe@M z)}IO;8#AiGJcb##Wp~u`pIpr_(zJTR)3ybx%kRwnao=@G+qS7OeFtw)m_m>>gkit{ z`E)7(0EBJ4VZe~UU?_jWxTfoaNMBZYs49%>a8UUNNbz(ce+FGN7ynovFEXE@LVS8k zriTaKG+0)9gJ(a+f^B(l8VjZI&}hSaDMq)EB)TF2iJ&S=&&V`RW(F)0Rp=`-muPub z#@%%cIC9qk6^))QD#lTuq^WpLA}T_iZNOiODCDgJVziKy^R7m^L*>07+9*jyZ%d+H zUHFMuAEMrHe3@!`TBe8jzvDsEV8QPV9v;NP-|$Ea7FoliwO~LJI}o6>iBHT07HI)lJ%45#yIfu40i*JbDovh+>U! zOG#RDNdnpy9^c6c7eBsr!qIn$2sf}u!fE5W*E$dok^ZT7_JXR>=qCx+>pi5utGpQ3 zp*X_r#g{}lJOezaz6k1^P9v5WPgTMAjLS(! zW55a?MK_|QkwUqBnlX&oyl}6JRuy2Jzilhj&9@ntEo1#!(Bg}@I%a@vTT@>#$@I7{ zuVCAzHZ*Fd(a++?s~Dd243BXy{j9v(&v6%+2NCqHnNd}!xrd@UjPHx9en?aYkH=%) zgTW?K#FW5&)dHruH7x_iKBnI&$Eb{M*_>sdFI6x+75aOO+tV`Y8b%NL(JBVKzwngg z#BX$=w7k{EVBe=G_H9N$Y2zmx@Yh}Tz zx(f&8KSauollf&xpHq2??n1H5sLp<*f2#b`AmjlYR4$){p5_7^-7t1dd;?uhq0a*- z*?~J)X?%s7@MN9w2G(aip6VGqd38&T&xQD>h3K6AlMUt%7~KCc50qnpvFNQV zt0&7Y$Fn!G;6*&Nl!qIz@IoH#%cBJ>`X%eZha?Au)O+>*Hv{GMQD&tV0i4*qWIqq2vB2Ft z@Dj`F%(8yv*(+GEJ`axL;p162%)=iTJi5s++QlIMt-jGr?;A8$@vaCnBk&xs6Vh%( z9=wo^yR3nW?_l79<6azi{2O0J`kBg?!;^I}xH;P}SHxhlW&Iv);#ZUuPY050W{j$2 zbI;O1l3i0ll3Vbw*nyDV=q4Dh8cSq@-vnM}VB-i;z6t3&Dla6?7!b(%kfeD6U&f~b zNsb4SG=L;Wv+P4W*pUUd@X%R?xjjZruEy)=1T-?teTAW9z=D#XpmDK_f{rv0!=nh0 z6ECYpz2dOAPQeCRpKxLE%AgqHd=jN@eh=yIDt`-zf;oUFuLOdfhlA=|LX_JbN5T5| zpD0*dD$wJ89xMa&c!$A5pR@329)5~NF5r;`hWU7m29zS|g1=4FQbUf{6o(v%m)(|C?Ur4 z9df>!fSiTLvC|6^LGAcnm=rN8f(^7fpbKhiBVrt>A;ys! zVjQU<#*rFg9H}A3ks4wgsUgOZ8e$x|Kix)*BQ?Z0GDV#B01uzV!pnGcAdfC#(LFrp zTHv(G0;gSQkEy`5~NyS4$-$4F5H27y^q;6}Zv)znJDu0n9D2H`KvMJnNHfH4FZ#{p?@ zC$`N6#4^m4v5Qe6#a!SX+_)%wbpr5}x!f34t5gA&FBO0VBQm4CWXkuzwVNi1^gj3a zkrt?YL-6A(aZtHn&3!KhE5Ae{hEPM+O?>5Z6u_g|Y zRwN*j;lH6U!1{my)@7utgSk~5_$A?laDh^F2eKl{fQzh-yel!(rIWR_CG_GopkIQN zn3EI9?tc{NTPlAAC^bNm^8PQ7mXni^`+I^O#;f?p`Vcu!#s7adB~%vZ%Ofxvj6~4) ze`B#AkL_YPSMZ$mhPf-&6hEZ8>qn*25~T*!x)%r4s0B#+pasm$NcX7x)u8$tYQcLu|7met|+Rf63f}lq5%u7 zc>23CmrI>p&i0xh!(CJUX%5w}*%2z7f@n*Z!?7b?skB!*U@F%Y`&77t*j? zNW*d=4a3z@&mM&HL+moAsh`xF`ZAz3sL)`*2KAWF=q6PCJ}ehVl|L5LgtES!N}*!I z|6YQ4;8HcLrA zCSQBv5WFTry3ngmtO#NfGNina2`}Ow>q9c38vc(@2|i|h5BNC9;KAK2G=PWJu`uW1 z$%gq>>~dTsiIiP70g()U$HMUO?F8@<6gBR15!4Z`B?cUIf}+RT{mZ4U+Xw=_C5bpC z8w6Y=i8!S)Xw+B|aSADv-ctFlM9ArJu;l}MNd)~XsQ`?fcz6~7<~PLA zoGK8_|4OPLqDJ*B7CV8*`m@;UJf|Z;#1;`+7P^^-wy^No9MORQ5nJLq z2@$gwf;>kjMEp%)zLXb;j|_;Ir$NL#4I<`g5HU}KhDkDKi!6i zc^X8_OA#WjDr9w*^D&FPY+kDuv*nVZIh? zgS$wW6Ksr!#@_Xs(ci`5$;$x?-erucR;p0YTn6#koHl@|W8BOP%Qo;0N4yA-)H`k4 zb}aHGv<+;D*D=cA?N65!SWI?-)JH(E#bg(Fx1`46Hjn@};-K=+k!C>FQeKD)>Lk|Z zdSpm96Q9;0^f&;kyKezKUd4htd5E*n6dq~KA`kHBDTeuT>o1Q30dB>Xas@XJ0$1EfpBFMAE? zL6yG)G$)XWMp)LKZqNyK57vi>KM7wRZd#XAljrczy9Nt)HhAPo7VW^Jb6BiA&)Lj! z>+;+whWSmbEpD&cX>JL&Q>j7C!tEq16t%%3uvi}qmU=~4D7GZBQv0ly?X$8E+T?yY zFjoE-DJ>hL9ahpB{Vys{?K4BR&q~ogb>iA*m};NHN$U%%MZJZdW6`cWx|qdIhT@Xt zUchr#8|JIAE1eeFlc0tE5jJ%zxKw6|bE(xDms+h2mercBbM*^oh|gqWtQK4<8w9sL zG%&W~%lI@Qmr7@m;XLv_S)#PVwX*kz%BM_Qhx?Qm>`zKty;Bdg_>QGNZb_ujIR9F* z9Q{Ui@U>()I!<=*wP%4$S4%psC6axj@`9!#;%K@RUlL9AlnY}$oA-BS!FPD*Y!;e} zB@h-F%Ok%S=JPQcBZ{h*{hL%R%qxT;Y64!7l&tGDvaZ+2y1oM_b&DkBdXksvpd@(6 zdO=p=-PVW5`JN)Ho)$yaZY;8yM=v(APKjNGt3g&M>O(h!ti{d3;0rD60F&A2nkEc& z>nj^v=IYqOh<9c(Bi;+rwymjVv`d58?8U-%mSRysDR^g^ZK?ZB+--g7+g2cA9n~^d zQUtlj`wAy%iUto$S^336ii-I7VD*JLhZ)e01ekHU(JY-1(rrf7blBTomX0j|@y}4D zV}!}|p17ZDmA>uilZkLbSy@HcGGl09R>ELWY`!1>7n#E1?XWJfU zhCl7`{&!zP4}g7g7aM3&Vbp&(X4T^Eh0LnuG+54>hv{ai#Z^CDm{s4a%&PA-+-B7! zzp(Nd4X_qy)jpExJ+cq!A1bdYOCR|GjPN8mQXe55-;XMP4%)6G4vgAIUPAhX%6Csk zWH}sEUL9kPLda3R1y-bQz#-}*{X*qmfYtYBIH-I*I?x+9D1R3$TW8{+d>M=>j)U^g zBmGq6yTa6cI1Vaju;x7-2jxFTng)vq%9}sao6?6YutuYFA-=_p3w^#v$x_@cS!!Ll z6qJ~fj%!qEm0Rgve76G>{V&ovNaH^XL7DgB3$_0PphQ>gx;OC9+tC{FsdkCTzKM5O zh}<~0nfPuNxQ++5^1ufyt2+-ZW8vB?ypu(?@SMANZf~Buh>fqr#=pQO|B4A8jL?hYzoO3J@n3PtKgWN?&;1|f zzvBH;<-ekGac%+e3{_lU{w(!RJqo!66kS~{QHttfiLzc{w}8S9E3Kr&a;CG^qMZ2} z4Z?FUZad%r2io)u(hpU>9mek<98~@W(r;CMHFyYFCQ$hyz@JRXO*iEs-K_Goi%44> zRA)a@<)pF+aY~GalACUthIGBk=YXrOl$>?bZQv#2C1>4qKKMvi$yql&fb>O`zYSb< zyyUE#8i0qim7H~xIg8$iKEy$ZLw<-_xXAu|fZR_gNS0a`+>bZCA8%l#R=Jff!FR+t zA3<6a=cFj5#5u=6t71Di>|%jyd0;&cyv?#Y^3W_6hJoGVEV7*E4CJ}(c(;AS%RPV<=rj{YV}|Qy}Dx`ZUeFZx*MHT`L(LNyDB$x zn8B$6B5$2WumlmZkou_0fpWG6#qM%|Vp!+F@dgfbk1h2Q&n-HZzS&-GH zET)N$^YE{D*cy_6k85N3ajf1OWM>b8JbnmirXGU2 zpNfH0D+afTsiHq zYFmqI4!Ak%?}3}oXdG(O#%IYi@BB|&zc4Frt~4uvjwHUpcZas zf4)cVH{2!F)Vgp9C_&)IO09A$eHq^o_<0{`QQ(Jm3nB0`wixhpkc9`cNHrGuljl6f zbMtxbCv3czO(@GI?Bx?1vB~Awl;r?F->_NL_?!=U-q|c~HVcm7bL+6Vi`YE)X3qPA z<=?~eck%hlSwTHsFqSW9%oeQT3)2n0=ykv#Gu8!9fro(AV-v~!m2N5fb+ml~LKhzU zF3o$9k!DKP{Z*UG?0O!A{8SQi7pA7h9g>*4zDHU`5^$Fo^YMX@XtqditEb8y&YI0= z%Ut2=WDn<))WJ$jbU3I}+)B)i2^4`YTKy{lQ*_P#P+hYx7ReGU1W3((qJSwSui1}) z(t5y@x5uH4RltcAODzI>bhY!FWZnZ#@-JP~}**^YDX!1P`O}?k0$@erg`JRR*-_y|Kdm5U2PeYUM zX=w62z{MWUE7S5wQBWuY=5&amcXFwk({+OytZ_0m*hhF+CdI{mEr#BHEr#Cy572)M zDLVEG6o`F0vVsU`@-qttc<^-=YQ;lq2`TrqUp;naf>$pbEFw<7QW8dNy7O#8q`UarXl3*V70cxlEtbnCw}2Q>CKACu(PFuLLTJ_hDGy$P zkSq@%pkFN(hR57bEHao!-lC8!*EzJw`rEWAHH=!UpD)owg=G1BKk~47AUb@mg=G1h zOyY)a~@9R&naw>c>KXQ>?|)Ox#6}Q}^R5 z`2TYp;MqS~aq3nW=8jlj6v_#HP9OYUQE1KZ*DNfzvALiM5z-2#`2chj&Q}9;4x<*U z4JCnUbU=4bBH^ut^ZmIFm~sorn15c4bcf1oK=x;$YO2CR=Nl}v80PWSvFQ?ze8Zys zc=T1nd?wb(0*MV9i&uPk~CkA6%NyuU-5=Ms>nFw%EAMu}NXtM?vg^$9F=J7I`5g#X7nAQv*; z#VGg#-PY(Q-}{gEkg909e<+=gh4BxuV3-HrWuXo{^c+d>8|6zwg6DjNmp&%J<+_Mj z>N+2<$C2P(k0Zgo9!G+EJ&pwTdK?Mv^*9pT>v1Hw*W*ZVug8(#UXLTey&i;?9bk9$ z+(vqHS!hY%a!emRJtR2 z%kD(}J5}ButY#n%5TLBv9gz%+$Q|(}+(k;{+&ciZt%gfMvLcDX} z(=6JFN9VFw1)j5o<<{r9)5tk+utVPWOOU+90U@2dWMQIjpCN!lar+V!?z+NACEno& zp+Zt|4)j*)15(~E2W=(CInZ0laSrrWBC^iFfq`AAuutFfEP4%(E@iQ5Jm)2rdlAoF zLq2^s+k_o|N&>p0^soQZi&kSE}Z?>Upbe2dO@hBf46gt5{bS+`~iXvQWO5!k9er z8+qW};t=c3l>1lQi>j&H-y&Aw0V!yjU_d6NR!xmsH8pD0bUg69HObgTdf<6$7DFvB zIg3P_l4ISil3IZFHl|hx)LNl#X@YOvka# zo9Q^#c{3fyI&Y@qSm(`j9P7N9j$@rS({ZfxW;%{_-b}c64Yj$zgiF9Pi<{uXiA1bl z7jmzS6VZvdfRL)k+`Eo&_gc|P|6jRxd22hSliu3xFt(+8m$$a#-sP?BxOaJLJMLZH z+Kzjdx3=Tn<*mIx-7=~1)^^;xytN(oE^lqey~|tMaqsfhcHFzXwH@~^)Pb$Cbnn7% z!IoLNcX?~WpJ|vgj-S!T@e$(Bn}z6tjY_E!2X!MSsz-bU5qc|Q<|X!LIw-`0wai_ zEc<^v2>-ebJbV)izrrJz!^R;t9M?((&cuodhzoPg!b>VkX-VZ`L|y+!Od=dAZOK^bnXMBS6I7#j^MkAe~^4Ei!_eye~!9ZzP5Q_Sj&<$RSBmIf^ zpGaR^O1caG?>smXW)~m9?4kz?f50P+S)_o+y0X|No^u8^=ZulsQME>!zug+eX)JVm z?9$R$z>YYv#)4YmQrQY;eU7x8r2JVF?`yWo--H$j%2qgwT7k<}I7_s`s<>95xJT3q z#idf!p|`{JEc^+NG-HvKJl2=Rp65AjNYydYX@|QLw8KBba+1#5{}RVJSK~P6Y8>a> z{UH3GlKAI_Ku>az!7w>jaGX|g1Sey9BDkI=}yz-tz@b&xxby zJ&LA!D%AltA0NrGf8)U}EciGNU&6vz|AkWd`PgWOs;~T;R87vQ4~wi9X=J@fBkM&O zpj1Oi){98?J+1PBtexV>ItO1;SJl&E$U26F-{X;^s4_zdxWsm`xN<--Y|AucfgtC_4FE#Zs2O*Jh`Q%%d#RMWCF)wC>4H7!e1 zP0P|$)3P+xv@A_EElX2P%hFWSvNYASEKM~nOH)nD(p1y3G}W{$O*Jh`Q%%d#blg7^ z#Ag#PxRe!a;0tf!3zxEm@AAc0A&3urbD`zA-R44*T>DlOy3KrsZj-X?dDyTApT_mZzDfg zZ7okTP0Q0v)ABUav^>o;El)E|%hOEL@-)-5Jk2yMPqTk2R8DzT5aI><5h~{aIPS;p zuz}&^>N&sEtsdbjYLtH!{#oLNgKpuW0EhiUaWW@^_K`qVgRvkGomU=`OFJ zJhc~b^9%Aexf6Bd%y#nGh4872Hrq>eT)ZZ+PNFV)hI7b=i1)$&AO z`Ew+$Z}~7%X^QA=DX20WAk+GgZ{}mD5T6RS6iXvBoMr#QgY8*xBM&vCnbBRiO3^5x zTS|%OVoHpH4XkOAreqNYoaBNb-BP@59Jds28^7*=YPTj^u?ZU;Ek4x~i|dhvq-6zJtn2(v^{?%rhKPAvR8i+s#; z7Vz9`p1XsMzm$#tFPrcbpIC`aI>@F>K%kem*v#MA?5la+e|TOF%Y!@Sb$sqTHm?qw zw}a;gSpFY;eotQDlHM(1_u$v@5Eu$mD(P%bjSVTi3wc%~*pk+J6$J6U@{Vxmo>KR3 z3SwP}eArf8oeonFchm%NM@>GtWp#&P@f zUgNlZdarTZKE2l{w@(dqXsZFy`s6e+)}hMM1U;rOYApp_wR-PDT4;f_G_-oH6Q0F; z?a2V37fQ5x?OLR-s=Pp}z2ea78hlA;RZo?FsD)QG&2y+3d6$fn)Bz@&@}kb1ioj$? zZbT7X*>y z;sBiLt$C;P4r5d=mBYTb=AF`8^G@lld8hQ&yi-YLCP^$#t_!a*M12mjEO@Metp zWm5yJOl_t&^f@Kl3^Ms8K!}fVQ_g3+g*Ly1$wI=RiNUC+S%PZLIV{eG*B@@ z0~I4QP%%OS6(clIF+u|sBQ#JkqD3qsTMckv+CaV4{u(|Qjjht7PCqEX9UGGDgYh0T zQ$R;@8hgCjD*cpF4d``UDgeO=aOS_YMLGSqHEK`nA}@@_81z zhKClgaAh7gX$SO}^X@Mtcz46!voJvT&=nnnw#2GqG{p&oq8-pRIyp02p$IJrqgtI# zmsx@l3P#IhQ^>}RXgmsY4S0KZHsGw>0o{AIvje*KZf6H{@7*F!MlT*-Z?H%MfYI43 zR+q;{vDg8g(~UMP&#_50-BZ$}DmD0UeR1%CNF+Bb_ufYXbeTl`_c@uKmAHipI#Zu(R9 zlX1gAfC-Wa~QIgC7P; zM_te>Z$QHj0S!L{H2e_I@Iyeu4*?B71T_2*(C|Y*!w&%sKLk=#YHa1<%UO66j}F1~ zmPPmRoK6NG4_*cQF~J!tWYlW+nxhGS_)k2Nf?j!p8vY1s_#>#{kD!J>f*Sq^YWO3l z;g6t(KZ2<$H8>0B^YG7*BTqxiG7+(+g{qu5#M^pXAEvKP8@2aP2etQ5N457*ceV8p z_5weR{4lXs5kHKrhrAKZRVSjk>O{05713OEBATmCM03@NXs$XD%~dC|J|t;qLwf51mIkoXPg9PyZfW#~u2^T4g!0FhqOkAJyUL zglUinlW7(n6Eq#p1WkuCLDS((5SXki4^Bbsvg4q`xr;>@k6@?RCwa6n>2Rjlw3%`G z-=2Rhg9ga0j?qk7p9=whPU*w^-gu$lCmj;KOK~aTl zX?j#GEYWQKXbU{*ovC54nVP_usbR308U~xGVX&DR2Aip2u$dYLo2g;2nHmP0nIZ;T z%fpRXcomOcPg{pY-{3hdv9R>Jz+lszp+Yfw?OttM( z=4cpfj)uYJXc%mchQa2fiovR~@MIqT5*X|eT3DJPn;Lqe8K3A){nr#n^8iX_I-Td2 zl=*BafD&CFf+#%r!+bVgAENQw0u7WDXrQD(10@9llti(x^gBRFoZ0D$*ev_iXOiG8 zYMx&nI&+zbtv=h>7=hZtTcy+_ysxThgRaj*P5*b5WByyy1iD}Dp5kx4B{|% z6DnR!=7o>I-O%jYlF$k&KLWpQEWjbRru1&m)(JK^n+bV0IGYK1Hw*>;lUq}IH|#^6 zwpN5@Yl9Pm-MhirOvt;TB{X4jYfA5i1Y1)o?H4J3<~sx#3W5}^{7EkiHdg$j${!to zrlS1Ws40IoYRaFDn(}9(FyQ%<2k(Ia&wru(>Bquf@W`bsvVuozkn*R%q0OAXO`B2! z7R9c>Y39d|Y096+H094@n)2r{2`u~?RS=fvAdj?Rk@Y-!E&&VbzYihYpfu^kf^YLs0~VUWBUiG>8Xm1hQS6sGG+SOsHc6Tp{!0p@nU~zE6TrJVpe?CR zsyW&vXL4L(s*}G!+oCiqE%DlV6#JJodcOQA@M5~8=gY4lJ*e_p6#JJ&6#Mge=u2o@ zZonQsud`@xvL}e0!gF3^xfk->g%rhpnM2+WOOU*!28{}nx5y~=eT$0;r^R}DO^agx znij?WwcQ{og?K}keNBsE|C)+ouMzewu`SZWELM-_>}I*GdG1yU?Y7(|?3}{OjQ`+R zPa1ygFAepb+ECxAbpF@EP+_Sty{i_s+Rd_%a8O1(TYVFpjwOgasZY_%aZY_%a z?qaBQEsJd9(Mu`5+5?hW0Q+;+fLgYapsMu!zno=Y{sWJ2G}W;v_68ywp^G1juV&Cb z+!iqoCw_yVp81`o^*w6htL@!~F`%N@@6`;%_x=FTagyZhd$ss#d$ss#d$ss#d$ss# zd$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d$ss#d&m7V@zu8R zg8#6B&3xf42#mxQ?&pg;Bfc8KS0KLHDw_-CwN1u_j>T8Qz!TWySbR0fg#ZBN=$6GvheJlYY0yxR+%Jlh5-p!EzvhtbRzV&QN_wy^@WuwohA4-`5U2We^Ua z?0s4onSHClXLd+lvrmh!woi+%woi+%wr_vB?MA*&i?6m%i?6m%i?6m%i?6m%i?6m% zi?6m%i?6m%i?6nCOff-PX0dQ37Ji&Xmh+r}JhvUsoyc;3XXDqh2|+$#C!4g6P3eXp zEwkCo$N8Lze9k*8524ae<9R#S+%9bHZ+zZLmfwKqo4lYRE6Cvm9~*q(T7Z&CvDFUq zcwJ{6hiMLsm3p*&ccYgw2L^brP5+ydlszyaw296kBeeMvEqu`CHHPspjyG_i0T0xN z;An$`@|r#H0ZqeqK(hxvpxFZ-(CmQ^X!gJdG<)C!nmzCVEp-2Z1opuBJS&4|jpo@W z^X%Sa5BwmWQ);>MzA1#5rBQ6*=|$0|H-9UzS$~)fG$E2>NeSyo_L7pz6-ir0|5zI_ zA8UpdA0NWV$&{nyV_|<{O&R3IS7)-&Y#z=a`;#^HtIsXGrJ7|AT(U}(5+hMj+7Xl? zWIOtrvOoDuBgwmWu>1}bUk>2V-ie?lmbgMz;f(@i7 zqW|T%aG%lGYk{%XNAmhF$z$?Im4{R@?veuiOR{t-BgfvCZzBCc3BmNly3~P#4b1}zXj>LD!(3}`VAaZz8s#n+i_67DMGq+$3gjr zkiMq!Enync7YCJZM!H+&@5j7Fl`Hx$lR2T z3%=Hj3%=Hj3%=Hj3%=Hj3%=Hj3%=Hj3%=Hj3%=Hj3%*WZT%bfL3DI>9MgI7kLiBGf zVPL<64`hdvV%(5Em8btY*-^_+r3yr?%kZCkK9Ax%v5;5KKK=j#j2g@8y&dPoQxvNTvd`PpkIHb+Q4r#U)hcsJ@Lz=C{A3U{Y7qg}e1>Cd;WHdt3!mZGTKEjd*1~6` zYHM*K3&(gETa-mHHwDt#Xt#Af30Ip#{5wd?SH?kFzA_Hd@|AIrmamM1w0vb8q~$B) zAT3`R2Wk1rI7rJ^22g5~^U9fKX$^(}bVJvi`M{)n_Mob=YMTwr81Y*|UH!hIs+F=Wcc|M=(VU3kveTk4KemC4lz2`xxR{yb*`_XW1Z`(=ve3aDoVuY*Qf$Vj)zY7Q`w=q9j5TmcEgBX2P9mMFX z>L5m6RR=Npsyc|#SJgp`zN!vl^i_2bqp#}zbPF;1syc|#S2ab%xE?;0EDZC&zC2pM zqHoexnmqSUff&gNLo$&0eK1sP6mc{mMt_=IfjdGFV+{>4*3b}R4Gl5Y&=6w{4Kdcx z5MvDuG1kx!V~tc1V+|Ib#=~C&F#sd_84bAdHq%EVoa zJ~(K*0ton1UqSl0%9}f4Pa>;2)ZzrZ*YKZOSXw_~No%7O3{L^$jGitS=dkAz6WKb9 zJ13FI_5r($lK7=o9kAjSk{#DtjdX{~Yw)#}Q1_h7LroD)WhJagPh*i~Jn}yl9mJz= z8s;;xryK&kQ!)f9HMxCladMjoGg=bn^tvDf?1ia6oW36EPL=NpY&$~Y+tZb%M)nhGQY!n*F(28$o!7- z?;-tN<&~z#LiT^MV3Y^nW1&tw^gPM!XXHymZWmmr56fe6yOcFOzJ{9IZm7xahML@N zsLAbyn%r)v$?b-k+-|7J?S}i)ZMof0liLm974xjq)ko^BeoXGhYwlVl(%cD0(gUC) z*`Q+7HPYm6BTeo$(&TOe987T|@>`5I{j`EuvT&?9WC)XnrXPNv13K=YwTFj`x-kA zGrq>3L*ht>8DC?U6+QOm-pxa2u+S_XY0n}L@n{`#n0elz*;ff@R?^E<|1@ojTFnx) zCC`pkvMXJv(euJj(WRurjPF9nVa9i%<1pj9Fy3KiCyVys(N!##$#ZtF+>3ecVse;y z!6xs5`Xxx-;!uxHUh;PFpB#r0ly*;e!o;uh6z;l3I?Q0d%I)=v*fYQ;>uO2XCXU05 zuZiO@<7?tL%=nr(4l}+cg&k(zVbL2AUx~#U@SJy9?iD=uadMb>(IIUA1cWWTFjfj< zJ*oG{UmEI{YD4`}t!rNDIL!DieE~yVI?VVkO*qsmu*mH^@)7A0UvfxRcr7szdyMNl zN?WM+vG_gKlCC8tC7HN`>SBd(sOVy4(7jHVU97p|0^)1#xPbVYI}S6x=8nURuX&sc zh>r!|$0iLdw2((mWsz(i`I8)Gb~wb^mU90p1!5H*kVQJoq)M$88ns$z)N0{4%=lV3 z4l}+M#ZapUi#)-jmyyHF%aU5a@e4i&wQNmF5jg&s!;I}C@_*P=9YeSROvtxA&S=Ba zBxZ1;^5K}OiwllQhZ$e%ePCPCVaC_mahUP7b{uAWtsRFMUu(x<#@E_$nDMoC9AIp}NK4igFKu;Od$IIQ^EIu0wowvNM!udU;-;%no~0V+Byy^zP66Tim$EXu!1@;G@|flm}|Fn99Dd7;XCrGJ&qS0uaDy+#COEk-tisr zwRe0+eC;(oR{L?FeZJHUw0C?*eC-|I5np@9cf{A;@g4ECcYH^D?H%6{UwfE!zGmaX zMQ4LH?y#g1ME^5e`6LI1VtkM%by6k6sgOyRN;uu&W29-4ZXHG;oviY`G26HY2l`6~ zPnu!W!9n>mKoDaK{;@vSBl9OJ#;0P6@-||gUXAb_TUn?b56xiVbRKzxMQiiu1j9Up zz?GH;XA!N)6-8ac->L8d$~&$F6uDW@rT^4sL4TnoE-PZir6m#YNl>2<0w~*gJSb1v zSjwLQf?g`A-?FaK&PbR3;|cp5e=DvOo0dsr-u z$Gj}|G|wH)a`*D_9Srlw7ZX zID_JeQN9ius-3 zkua?#JL`3VuFK=-`lF(&o)$ybXIb=I9$jH%ogI5i(iJnd#kYd4$MiN;jLXt#z3Mh& zs9L{*GsGU(_&gc|ot%??cO@D@(vKjPmXVS#Bf7Gs!~t8VNSd5phUL(>vM7f}amC@x z;lu^z_nPI~(GvQ^*GJRj^wBgqeKbu@A5D|fN7Ll=(KI=IG)+z)O_S572Q)W#NbOCZ z50NtAz3A)n4bqCjd(qct57J*$em*=Gx8VQ;>C*@^yQ}2vuFpZFCkl^6U!OaX&QSR? z;knpecrW_;R6zGQ3kO|m{tT`lJ{RCT2c<8d7H(YV^F2yl#@&*o)`d&Ks5Yfz^LLe6 z1;e>;~!%aCh-aHvq@Xol!)ef`e~ZAe*3{`{=@;k*RKwEENRavzX~a7&ndqS{PuOpd;3iXhk01?+kQR4 zUG9|pw%;2_zg79^;I|J;-rKJeILlDUZ~K|EEWSg0mH1|P9Jt8-e1KdnT$wDjF1R0j zbTOXZO09A$U4rk3pFV=LD1LgY;-_~O6Qm}_!iPmLN?(} zKH*t5X)&A9223x9&3uT>`jgN3h38$#^47CpMLxGDoBJ-C7v}j*SpGUbzXC6q%NEq& z3q~1y(dFQ`Gh^@ISrxCFrt`WnhhtULoeVHfBU740+g75#;QJm%s^My;5ec8b@xDlX z1I`B-yWl{F7_bm2&HX7~4dUfuIT;#2LHbv!JO$}L4b4M!Mj@T7^4i+!fWE--VzM)P$ z9p6wVo{n!Q1)V4(hxbrYxXE}rzM)P$9p6wVo{n#5=X5Kcj&G;gIV|sI7QBwnoyX?YVe@tvJpW#n{}Z3zjTh8s1q*n=Z+yXOw(v~8Fw3Aw zp@tcb?ZuNQM!HsKqRKqZXtcOMb&0UR&jK(h|d1Ob~#j5K^aQe|g592zL2j+92j z??5_TVD z&LL;D59C`zEw^kk-nux*dgMBp>#Fvn#>sr_I5b_pY`(FYkOqcIVNVEV_f|G=r1*|AdqI z0cWhds`r|s$=S_P1s)+z=KlWZ3a0E1{;!Z8FGsVV*xOQ-*PPw_nzNf65SnNZaLo6?&xAnh^#j-UlmaSp2Yz>QLYgjB>!(!PQ7R%PK zShj}6vNbH04W#vv-Q$-h+PS*|!u6OB8ly5xHC_+7GABh^jnRKP%f1x;6)A-v0SgIh zeJOkn*h)vqTEas2L~b|Mhg2jN;s5xQAX)aMuy`+_%AMO>GphKOE(bHFz367>4;hZIa3g|Nnxu_Oo-PSMQ#EA7znsq5;LX| zFm^KNbD<<)Y%@}F{{oR??TLt!0pqO?5%E2IdAO;-bxnA91x(d4F&-zfSWOmfv7&ddBQ7m?V=ky_P_^Cr_@|-GavQfnFcY3Taph=;}ih2nqTH-rJ z!J@&THtZ*nJH}~p*iX`oE+?G{0=1VEoFs-lF+l4>lsiLFP){X_v?0pA(6h-_0W(Xlb=#T(Xhu)+}N2Dr6s&IQj znjoU|qM{L%y(HIi2O_V6R1r{`((R(yMGzFlR}lq#RRkMiSCs!VvwJt+dd{EyU&o;dS0T))4>&D zqu@ji+L?KbA}K$fLZVT7^p*mOTnZ?1DWJ%ufFhRyid+gPaw(w5rGO%r0*YKpg%;na z5r0>R8p&m$MNZ|)5rI$SluvmHQGuHi*z8XI!Iat+kf*!?@|0IVp~VU)v{;cT{rDy3 z>c?HQflNI2Jj1+oxp$$cpZHb@ZF3l*{4`(fRxSM6f@eCWwc%A!iXa3Ll{DGp};X5VclX)%UoX{l7IKRprMnqZe zum;K<)mP;cgh!z|;nA?O{%#Rk@(ve82R|s8B}Xr_>=8GPvaF$vh=@C) z%;XiUK^B6`BFCG!d;=uMZ-AnM4N!EjAxqBtYs@u>yVfvwMegx2&(GXD zL(~$SQPRrzSEUtMvE)izn?YQgL0p@mmS8i~5^T;vTyHXOEAHJaN(6p1#YOhYrl(0< zK{S$$y;4N&P>87=E-V?9MrcuqK!6_95Vk#Rb~Jp8fFc&z!xjkLZh;bkEl?t`1xf_A zK#9N>C=u8KB?4QZL|_Y)2yB58fh|xXumws4wm^x%7AO(e0wn@lphRE`ln890B=xhw zbzyVF?azvm)QghTBb5$GI92GA)VD*D`u0AAT_&3NWjiFPZ-*rH?U1Ct9g@_yLz4P- z@GEVHB=zl(q`n=J)VD*D`gTZC-wsLY+aXDPJ0z)ZrDcQRqC3_d7WbcBM>|JEB{A`MgTyu|$pkH)G|@;T|EXvSU7 zYs`H)5o|xgyv+nJgZDJ|Eo1&-+&^2ePX4OIJ0lOpo0E3}hi-m(CumEF@MH`^tWTK3 zbT_b0?grM$-M~7z8(1fITiyu}>|@dZN@w1mxo;!$SLFWrf^|}Cm1RZ|AAcf@U<+if zM>MoAXsYjlslEq>=AL>qEPI+mbI)FCMfjVB>7KAtJvOjQ%bOXZnA8&4r%{VcO<`#Q zM=^!v=fX^3`L~E7lb^DNSoXdNSQTFd9>rIINAXo)oqY9864O_vs9v>CgH$V-)k%P1bGtV>J zdxZ$4ihT#oQ0fz%NLo3$CNAAj>gmE5O5F>g)V&Z&-3y`Ay%0*>3!&7#5K7$(q13$) zO5J-rE|`$F7ec9fqYR}!!rgV5dnNY{Bw{J%eUo4e?q4$(mh^k4%5EWJ$7auA5@4#Jc=2t;-V z&k{xysqNys6RCAt=bupfr*#fQb_apT?qCnac{H^AS*kUcS zZDUqQMvHg67sIH3Jtaf6k5n@u)In8Kn1{d&KcqG)9)9R=5}+s)B>^6iH4_1a+@Co= z;I4Yi^&iUC5&Jj)qq;7(6V0ycd2OQPnTWEpJ?K3eFC?C|ric!MSPrZGn};9HAn|N8 zMRZuE)d4JCC#i$(Vczd}#wg7(D}y%DvQ+SvrZ~Z}i4KHQ!C9&}FJmw6rt+}q+HG<& zNw(|L3J;p*SSovQYXdPJh~7Q|g=nVwKY2CSdskj9ku)%+Ge((~QZrYd4&@uAA~vd& zOCX{xE&PtXVfX#Wx?}I~kLJ+he9(NPA3-X{M=NNgKTijZ^p6(O(VF9+oq!yv8h0G$sj)0Ig{SUgX@gkWpS1VoM&@k5o%6VB7;_z@eSW$7 z6XvmV5AFS!LFHxheB#RVJLG8DawCqlTyFZB^I{%$gOZuz=O3X%>>5V`_ymg9KS`qp zAY4%5ec1E$6C#n)gbPZ%e~en;f)eMjY1Sui(Ss4#SG?by9>ys1fqY_Y^3fFoJx&d? z2FW@b%A~HY{2y5+R20UOoCaZxC;7K)bD2r~8Dvs_1|Z-w$fW*ECP-JH1nG2g6#d3r z4(@uFxw~`sR!Wc-QVaB5)HPnr`b#pB3DO{=EDK6r%P8yu3<=UFKrSaBLHfjVG#IP| z=@Zrh?4CjnpU()^3}xO=ct%r}L2Mi)DX-Z_pACpfq?6{EnDWinGcd}$<}Wg61Z*uFRXOrW;`e$oq3P*jJ7Oe9rx9ybYvgRCQCqDc^Cm@Gl$gpkcMs) z<3oNf%p8(`vpPN@kUJmXT9k?z(veR>I`T=#VLI7_1kl$M!bvO3I52z8F_(+GjxcwB z?tYz2V;?QvqSq9)-+C?eItYAop_em>AVG_um#K>h#GjSDUY38%DYlbUFPm2@l&0}% zFpWctW)A;o9xS(l#8cgHUj@~}{OJJ;f@u?S?wimpy z+IL{ueg~%Qcd&YY2d3?JVA_5MrtNoN+I|P7?RSRTM-w$LS;f9(!O8mXCj6d(gx@oe z@OuVO<{3!%Jp&29XCUGC3?%%XfrQ^PknnrP*yxK_gZF5dg*tQt%zVH)Bcs7OU(n4m z6Y%}Cg<9b`Cjj>oY;gb62?1fu_4+4iYgVD4n1_(=U(D&`&JUQYH+SvSjQym^1M_xU zi7;KKZM;ImVOukW!wO{ISd>nSfGVT=CvC=3=n+b72K&bTD##wXnQHvkC#cmGtGr+v^PFPd5#0M0?HeohHn0}9ZC&z4K>3DmM(2cYVBgq3>X9JG z77@ed57;;Mk0CT+G@;WblWxzO zQhcl5*~1%{F6Va8R1xt2>i4-G)PE5V5a*v#Ywa6*&ML*XCX7>K&J6DSOy+a$74Syb znI^p1_7HVCxMCJ6c=K~%^!%R(cyk`$&3S+~=Kd_=#kVm9k8DiABO6oj$i@^rvM~jZY%E&Oe|hHibN5$dB5&8Uu|A@OvL5yJ zczo3PvRSRIxTso4kZYQ)_*iQ1wa(RMwYK7YNg@;ET4yUxaEJVWfjbOWB_Bss@}0HW z<@43GBV6k_)h$Vd{sP^sU`yPi+2UQ)w@1zX#aE*Kv@!b>|17m1S?2=oq%I-2Q;Oiu zJAI&ZwL~j*yA)XHehE3f>*fltbB>)QY+x@qQVShwuf8a}(sC zRB8w^75AUaGnsq76dU|mng=B{9H~x9IM~igB+M76*8#b8%-Hh z5R4KX&3;#SlG+cfa}(qQr%5VvCUEBs%=s>NT`NFNC9~7y!`Xg_I$Z>EOh!9nTWowa zib*)Ml8jc+n7EV}?MfEkR0dTNNFUuE8(&Xw{bsfK2MZI0EQug>MKEvQLz31+ZdVoa zkyTb8$5vT^99v}ta%`0q$gx#cAjei&fgD?91#)ba709twJ{}hUIkw6QT%ljI z;rN{D{35Ex$mwD75`%J=YHX{i@(*n_RsNx^rb;!o)jUOlGgFOiH8bTO_G8ZXxr;N` zBJSzQJe#?l9bHc^kgyzNZOf?Cy!H&3tF}W(Sk!M;D_l>-G)?STOE*Ros*=2 z%v57rop(u|KhQx#td2@Gw$;g+YP^Zw#?TRoL(Y^$eIjcxT*sriD%IH5a4!u@Gu7DEFzi&1W1bn@L$0tl zebs{^+bNP!vYYCmBFi2n;uw=zCY7^%E+>>2QDhQlT0<-ZOLnJTXe!m%)ylhat2s!k zIY_IyN;S4MSE&docM99HF)PM_|yv(7C(DQISktX7H(|y! zW&PUPsjOdHJC*foYp1e)ZS7RnudSWR`n9zq3!-*#MDMCbqNy!BYIS2pMk1L?CK?V^ zk@*m0jlAkhSTQk|7DPvY6&(RqbOZ~cBUlg}C9FsxN9DJagEp2qPjOdA=GwqL$;|UI z_qGxiL>(nFkxP@E%rr;;P#8lTH3jVMW#@ zxsp~NkX9d%Rv)k+`hW$|CkJWW%slUM@3mT5bsv>0SfJ!dourkM1yRJKRET+$jEwk{ z-0rSS8!L}XxlW7^Bh^@!hZ`%4Ej&AmKnSHi6qb#ZZT*iC7ByLuZ2c#ZtCE~C!adnv zu_oF2E7l}if5n<)>#taoZ2c8$lC8gDO|tbDn|zL;LtImA@_E`i-%G)vujvr)?<7ck zhz@anC#4%Lp+lS(BS~^P#Q9s)p0v(~P{zRwI>h^oV*7RJ5a(Y~8%qIiaXv4{-G$dP zcWvf=pLt&3zB{>pB=@gn^UJgOd)b0je8IPD;Xbx#GVK_(gDv@pFWbPE{m7P&Vb11! z`DwOd8e3V5uY8BC>c<~`ldtZ>R=>*E+{)MNVrx$Eb#~fXn4*cPKl>W0Rp|Rjt56YZ zQ{iQ8ih322*vs5aIPxkaKb%t@zi`JJS?lW@#Y_*xC9;vQZJ;U+wGHe;Ym3RzWE-eB znrs6VN0V)!;%KrBR2)sVfr_KaHt={{Frqs!p4O8_=9)6_0cv+z=OT@DlexYOoK9=Y zd~K?3U6rkVfUo{u<7=L!c>6+Mqu}E4l%Qk|LYQ3oRc^EjJEt&> zJTK!}h!Arp$6`+YoT93<1Z=5OAyv0msS^aI6dg$I1|J ztPBCi$`Ej@3<1Z=kTB)c+jv@Yp0<&vkL2lVsGQo@*c2ee_MciBf|v`ioO&{)@3a?^ zrZ_YO@Ir!z-=Y!o+ao-%v!^c}Jv(oCH+Na%!6nV$oGOwM|#$ z)HYq_xr5XbpU`i>rbEnq~>mtlCC=Nb~R)ItXNs z7(ohMupf(awFj5wn`B+n-k9dySkFE22NU^Ul zmHUV*$zT|18V@53!$+dBLQqfpa7D;v(R&1)J1ksAl1!y~gzmwtdbf>IRqwV@s_NY~ zN>#nvMv+3ds@`p*RMop}lq&hLjZ#(bwo%<<16A*~QMIyXCb3khP@>J1MAnDVBn9Hu z#7d}Wl;~JcqGLf@jQx$om1vI4v6+-8#3S5ELW#CeU4J)B*YjG5qN_aDN)$yDjS?LX zVi^xgbbLCAXRRrs@mZB9gcUO0BZ7C|}+KOhsZ?P)I0{9bL*6tP}fuoh#X+l=djH6BmZI^72 zRXC!WOd|MK3gXe7H`UC1p3CAXOCkIE`7_e{N8w#kGj~xsl-V{Eu$Xj845OHD0VGpT zfdq~zV2MqE1db_?z%d09IHo`X#}r85m;wnLQ;w6yHaBmzO@RcCDU`s`S`GDw@u?T4 z1df3FBuajw0NRotr$-z&iNFNml1z+4dPs77)XCJ-A%SB$BydcJ1di#Dz%d;XIHp4a z$8<>Gm<|aX(+TtlN+HU&B0Kq+OqCD+66l!)pl23>5TW&!A#1)ygZfSy?ZdS(IW znMJ7P3f1K^VHV}kGTtnvUKEkXh<2~2aG|v_XV<_NbhBplyX`hr{cgKWRlnPAJ3))H zS^aLiO`@8blx4AyvMh=*=X~xw%3S2FdR_oJVM?1%``OFFbUn1VCm*^#Hkz(Oky8p|J0QO1QgZCEQu=96^7JH8*}gFo~q2_ zkzBYh`N%;P7#6o*v~2PXyp4;p67C+Tgu4eS;qHM-xO=QhIFL$j=03nZoOu>;Zy5pJ zIw+|;7Dg(elO+>!$(wS2tKT8H2huMFlf-~ZI0Gu-j3;SKSe0;wRS6fECK=3GnLBTh zdCS8DcE4~61+KzLoBw?fVVUNZ)pJD(g3`r0eDLT@RkPPEe*h18i2Pn z0B>mk-qN~dj+K7NQ%kbcdwJ?%mX^%YOY-z*n6oW+y};d9GB*)I-@?5cnfEj98$f%e z#>;a5PQj`2Tqztig$n$YF=J5dW_;UgHa{>5s0r+zP_;UgHa{>5s0r+!8TkbE} zo!!4tR^cm}*2mXbJ!-)Z6I>uJuKdn>fG&HA4$@s-qUoVsCoPTi+|V#gcAui@vE8R=dTjR%A;-f^)A?|p z<#YkjbY-45x%V>W_3?~2p|`s#(L5JMG@@9gz9;QB?1rpLCZ2Mr972}ko_ zk)r9bEwY?00c0P~oQt^gE9TO<>ph{juQEGLdi%N0aatB8r%U0~+Yf@?eh~EbgP^w` z1ik$r=4!KYrNcQ3et{UOl14}so&2=wkl zpm!evz55X8-G@N$J_LIAp|QU1>Zx6aPc45KbC!QkKbK(obeE5%)?& zU0|s@bsMYS9|3tja*~FXRsH@5)UG@NwJVQgtz98a{wVkU%rYpasxtH6!~Nfi+Lc~P zydUJDcymHMDBk?4e!n5g+Ld)syRr^ySJpx8$~vfBSr=NnQipjraqmAYV>-W-Bx2oUQhn?!Rn8(dMzY1UC z)k{98nk$xm5BECh#kr(R(7`zENy*aX!Wo1k`O6V$G3 z%2JInkvY$BS8wLp#XT*UXEE6;qITsPC9G-xrm!OGl3Ypa36RzkAgw2$cI64EU3nr0 zX-#6DL$raCs9ot}N{ev(3(H7aLGwBr93M6zBD#b zB)-IGLzou$!kq~5VP79Il`X|2daMiC($ifXZVx`Vw;TuyB0VTqA8b&BtzQ6Pb$b##v+JR27m zUtDV#M+GIq@z7Q)6PHjzi(?wo;^OaNTApX571gfP%N=uA)>O1@$LI-LwJX~u5zruY zEzIU^P`k1XYFD;F?aDT&UD*b;E8C!UWgFD4Y=hdBZBV~0ll6)375nGi!$HnzC-e|Qy;{rmr`c4Q|c@$KwGbK9yN z*$K5HJE3-DC)AGYgxZmvP&={{d?`Djc4Q~ij_icmk)2RGvJ+}Yc0%pQPN*H(3AH0T zsf?qan#V8TJib)QIG%zsj;ElE<0SQ&7h76qIp11!WvhK^ezWP{#2T z`55{KapCUIqQ-^!kc$u*7s|;;k@;Nt7@h^g<5@5~o&_Jnv*2TRRvI3(`A`~dKI9zA zoSy_Xt?kb|JGqw&AH%glnY~ypjLbC0m7!sggPFo28qKCliXQ`I8;y_Q1(4?p;A40J zd<-vukKqOBV`#@+e-S^%bPA`OVBRU*`y9(?%6&(ezZduK5I%+hO1y$CIXhGMLd2Vs zj{%c@^UKFT2?Wt>=52ckd<-vvkKrZoF}wsmhLG?*`Fs=oqL{S_FRuYix?74R{<5_YPWWu7~@=PTi37^Fn@ zOw=OFWESO3_DMvMNvqi!ViA1|uY=Y6I#|uGgOA~L@G-n@SfaPrWL=UgX}tx~dJClW7Wf$60w2R$IY?`Sj39RvK87Ktw8+Qs zQX)yK$j4CRV<0b2wAO`m3FW3TU4Fs9Em#T-KgK@rG3)~$!#?ma>;oUeKJYQ@10Taa z@G;oUeKJYQ@10Taa@G^hZcB*?tT!qz{7Z##=O>o{Fc|!LB7fZ;Nv&| zK8^$6<2V35jsxK1H~>D51K{I006vZb;Nv&|K8^$6<2V35jsxK1H~>D51K{I006vZb z1;vk1fvuj;SDz$)j2-02U*sbOC*h_i2(w4)E=ucy%SSFf^rK&Fpm$QTn~$avr) z88Y4j*UEd~T6qs#EAN48rcx&Ex6y zdHNL1*z6l-ijZO?Btm-#YBsAkqqWMs7efGXBP9s7k5mW)Rf-?LtoZ=ySU>oiyo5C< zmP<4116c?YFdK$5=V#p2g0?*5ZVHIK?;DPtcZBKuh1mKzrEBDwkh1fU(0iH&EE)d= z!Tc8reE$n98UK}OreMB*!MxMCcQ?yu!82B9X^nk0Q%>eQdm86iZUT~7EctK&NojmX z2uRA$m;uQmo{YSYN*3{Ch>&%-ZH>Y!_N>9lBfyh!1b8xz08hpd;K?`wJQ+uTC*uh4 zWE=sWj3dC4aRhiWjsQ=_5#Y%<0z4TkL4C^)g*wKd07-$=9D5@q$QN!<=wGufc5OP4bPU3`V6?DAVE-}n}6 zvu~k%<69`-_!i1HzJ>CQZ=rnSTPWZ77R>Q)p?u?8$2GoDFx-2N#OGd^3OE8zl}n^> z@&_p3_yGzyesI(J^q9Fu{V<8FM2~4H{s09WKR^M;4^Y7I0~B!lKoDp&J~*NAf)n;% zf$X9?qs!A=X8ZFY-uXk}d%<1a6mGi=dd zoG<8hE#{10fH~tAV9xjjm@|Hn7$=ePFT6w_agI4%+?0^p6s&i^+|=R@fL z@}cv|(R3bY0e%PWjNgGf<9FcB_+4^mJVc!@O`X4&Ipew0&YW*@7iHw`_1yrS@1=$5 zyk?vYO+0xpka$uc>=`JUhT%$aE0F8eV$b*s*fai`OiKfKXoU0Vuky4sSo=u-CD}8+ z;m+Q~p7AuXXEbGQN^md6JhyVs=bG`dZyZXe^+ii3-@u&MWt;rhHw6Sk`&Y)!iWj-g z^iN2|+DZDK<8-c>lK2PsGyVbojDJip=K#61WbS9VrwsGl!#%$XFgG6MGCqu4LZ?hV zfH|w@*@HPXRrDCeprOYo1`R#tNs`6~QX+bc#h?+GENRSHhC8Vy>^<%pAi&&>X167n z>*bLX~J&3k|MUyD=A_Nz0#*NP|lfyrIO_v zv4FQThB5iZL`>a+@@vPd%Jgo2`yN-b<$Y9irzpKpy&-$0gB!rv;gI6=AF&G zZ?KH^-1iOh59j`ag3f;iiuSEAqAidaAF-a|f+l=pnDC8Zcs5ogD0<_)G~vHC0cYc| z6TUq2q;SvI!tE!tM{p?*jmCvrCbLJJIL@*LwPjJn#S>jv!z=`scBg&-(S_bjl~w4? zZlL)q((p(-Hd93?dNWmoqBqM@R*}q{pOa^lxgO)5+JZ&bTTCXcg(!OKpK0l;WUlG0RUwMrS{0(`tyLk4 z-dYu+=&e;Dir!ikqR{6{1~zKdTdP78y|pSt(OauR6uq@7MA2KTLKMBVDn!v+t3njL zwJJo>Tc`f&yA{`guOh7jMWrA`r68Ht0STCLvku5F1hN(`kx~%7t;)mG+xDSZJ<$Xu zZB;3V-d2@@=xtRgh~8F}g6M5kDTv+{{3~r$DTv-ym4fJPRVj$xR+WP2ZB;3V-d2@@ z&}WD)%G@fIeyeO?t5m%$Rb|`;Gr7-foXM9+RfgU{Rb}WMR8@xF0lZrs1RPvtO231u z%FsKgstmn@s>;wisHzOTgR08VJE*D*y#u8X+z$A#&q9(;BjMMt8!JetXmvM}+e#(J z#^0&UuBz40G_#fkaPiA>tq@X1Ara)OP@NJ11-D(v5@sSQyg^u7NnnHJ~Z3fjG!D5C^#i;vm;R9ON2^ zgIoh~kZV9sUjuQFYbXwK7Y_FfeC~xQ4r2UqNu?F^gE&Y(h=cTlI7mN;gY<(qNI!^! z^n*A^KZt|$GaSCT_~3TqgUe-(XfLZo^;)Y$b%0f(s>=%1VIl@Z24HaCiR$7FO6!ub zpGW8>%>88b0V+jQAD~i1^#LkHR39*vV2{s)J_A&Ws6GI~_ybgms6IfYi0T6f;@pjW z{xHni97_ zK*A3E6E(Ek=#N=jnNC?-W2uWMow7JfzmKPX#+-w=bGK%^>br-&74WO}{WFY|Xp@f+ zEHs0lP;7Fkl+4monk~<;4@$2#j4etTlw(V3xUZ-iv8KeXgGm2%A`N7WDY5Imq}JR! zRlly4klOkz(i19BNH4oqW?sI|(}xhKd{vVk*FD@_j=AS?_xGCdyzgH6VnC4ngvT{I zC=iVx^9>vg$q5_@0Twp}XnT^{!`AuLB$Jy=0op#NmYMz?n-riwivYz3gaET^tt3ql zVHes?hP$gVx0icj1)7?NA{-n>grPH5jk!ESQ2y%^Eo<%OdyqD&+Rjgo^@p9$#H|E z+?WH28*?CWV-6&4%%Q}M3|t3ZkF*XHC2kZYZv0AaNrF5;syHaU%s1H&Q5Z!v`~YfY@+5sL?N# z#ErWfkVVwXw2JPA#ErYbFLXB~Zrlxt8+SwE#@&#(aW^Dx+zp8vcSGXF-4xaEo6?b$ zy#r>3fWL68MA_Tu-is+0$t6>!J`cv`JjhR&r@s^H%pT^o!JTK4 z$j*|M5ekugu+|(isnGjW$j(SrbeMW75ne99neZ;oglww!!(!VkkG_cT@{-+#uZZw6 zPY5q{ry{)6or>^McZy7(V&qt$xT^CowLe?uitti*D#A^McPhe5-KhvKb*Cb{)SZg(QgCPD3( z%Se765nk#Z2<3Yql<$F1z6V129th=oAe8TcP`(F3`5sbw3$fGphEWLx;t|UwqowWx zrRRfX-v`->K2m!3V-MGd>0w?gy^Hb6bAnfNMKOt)@tD(UOxCbqa>cxAAqF72Oz2N0Z1x* zfCAVLm_3uuxuTWf$L;hUFJ@yB5jKYQ-(7uU6cW`f9~3sjsFUK7>6y z6Q+luYLPE=2zyD^I43$r7nQMm&(qu>Ya^hgwdQs97@e4Le221F3IRJdpZE#RI8t zR6LOSM#4_ZvEOsUJonI%oe$V4TAs(pf#>mY;CXx;cpe`o?6kt{nZ!~hX$N4Z9e|y70Cw5|*l7n~ryYQucJ%YDg6B4*EIzl3qjG%m0A2VL9kl8{ zNmPyxM+MyFg_FwhnL4E2L=Hc7_8FjZd-mnh!cJS~A8Lp+w_FAY*(H$QWNF zowvs9nbdhhcH$f=(s}XKG|g~mB^hO>#>5fx-j$3hnY08gCV>{WaJxng7HPkwAXPR{ zp=F4yGVM1ys+d8lmqF*f3_9;+(0MO|&U+bj-pio#UIv}_GU&XQLFc^;I`3uDd27w* zE`yvye#GZqr1LJAZ}BzId9Q)adku8nYoPO91D*F8=)BiJ=e-6x@3nEhb@1GV*2CwP zKYWXCeosG`V2;-}$5LzYExrkSi*NR&Rda&5a=uAP?vLUp}xR;g+WCfgBEytR*B7*(4&$L|!3U&b|*JulqyD>;4du+&_dQ_YWz_eG|&! zs;I|DKFA_;vSgd&9<4Aw24Q>*!uS}H+&_jS_m3&beX}VHiG#13M8e3)_Y*b|D3fex z=V61rxVwQyyDLy8B+K&02s_`><4@4cop1ZZ66G)v;m`$&(0f5(>3z;2Y&8ImY?ep_u{LSMfsMjfUC$v4hNwG!j+e74p2sXN?o&m zSIYj)u=*z#=&b#t{V`r*nj`k5aVfM3c?pt|u}-5$Diy;2r|g7BkI@sh*a?qLA`MOp zp>Q7@g(UZ*kmP<8lH89%lKW9eaz6@5?nfcX{U{{4AB80Mqmbl&6q4MJLX!JYNOC_4 zN$y7>$^9rKxgVt@cTssxL)csg&PQ4Yijv$X#E`gRi);Uf*8$nTXx9Px;X=<&cnor? zj`gA0J<*)u#~{i57$mtLgCzH3kmP<0lH8AhH{uv1xgUch_hXRcehiY_k3o|AF-USh z21)M6Aj$n0CAmKVGkKT~XY!?zcu6$1d?Hb>yZ_xuP{JXz4~{#D5JE{Tht;ufd4_8jSd_<(>%5xa%}AA&w>{#P^tY zB=>G&8P&P(ZRWp%`_~BK{%s)O;Z?&3xIl(wMEgvx^tm0C-@vH+24wgR*sR}x&H7E) zQQ4MxR&sBGmX_e#4lCX8YjCB@#)oedEM{phY!}iXQ5i5&qy=Zd$e$~Gz@=$iO8KD0 zWw>MGqq1gXXH67C`+$}cCd~*fVA5>L&ZLpw$TgHnBnlZyGrC}&Mw{1s|XSm$q126IvTjzHW z&+=kA#QW{b(lzN2=XcbI;f~50bEInA@c~P<@zk9>^}j4_0Cyc`?t#pGj(NW1zDKw} zo%{E*`JLGO@7RJ@_jU&WXE*z(_*^LoBwC0kjCt=!L7 z&1I{8;|~wz51(VJ@8qiwX?zW3L>Tw`cHp`q=>38|kz69EoGA@;t-bUw*eSjy{0zf| zyMmqujUsx6B+kqMv|V&phv*>T{0IQ*M*vVi0)YAv0Mw5Fpne1Z^&?fFdR!VJOM~+VI~=IGIxz!+8?32T&JPCJ@s_JI|P(K5J z`dO-~Nwlf-Q36ndne$`rYRp^@aZg|7+0MOn1b`9`FCaBrlQ2@#9Gyb})H|606p`lD zA>Xy&g-%q=lFB(HyPOvZq8A|DXaLl2Akp6dK>Y>)>NfyTzexaf1$X^K0BRxusE?WV zM(*9gGC21gV*W1Nze#K=^&|>-LLLe@r$`A7-~5V{+z{oaQh!3EQAllEE_m;qZT_>2oKli^bu<27M+BIQB8*MxVMV2*oAjfV_^i$Dc)7(z@ zzhT1v4a4(qz@~o#HvK#7gim0e+qvfpv8mM4D6~US3r$UA83u`BBIi-S#TsT40_rEQ zYkGI;2N3DlH5Fs9YbwTI*Hpm8uBm{FU9&bx3apRAne#L5YQtP>xaTtFN#~yPVpFMS zKwNsUe^XqM*F7omXysK5vXfP#gf&HAoOTy3fbdS*v1~G!Z!9e6}GX* zsj!VbPK9mkaVl(Mk5geAdz=c}*yB{#hCWZY{j@ZN>~Sh=V~l0uji?|dFlz4rgPVN=B~}$?=#N}+;=DUkL3Qf zY<_t*e=l3GiZA$jrE5F`5t*HhK=%p*JF}Lj~)Ci8g#JVMmeoC9l>YDb9Qj z8~tVS^ErGB0|TkIv3v&CLgIa}-{m9xcOQiYA|B~{qSUQ&gP>?Kv$$X@bzoTi

  • n*xw_U~qtmo=1KTY4V1tG}G^ds!K#&z_H0f4|nU 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